haproxy(單機)+mysql叢集負載均衡
HAProxy是 七層代理 ,在使甠HAProxy後,在MySQL上 看不到Apps的源IP地址 ,看到的是HAProxy地址,而 MySQL的許可權訪問設定是和IP地址有關 ,這樣就導致了MySQL無法 針對應用 進行區分許可權了,所以使用的時候要注意。
1. HAProxy的安裝
Shell> yum install haproxy
2. HAProxy的配置
2.1. haproxy.cfg
將以下配置檔案儲存為 /etc/haproxy/haproxy.cfg
[root@mysql3 haproxy]# cat /etc/haproxy/haproxy.cfg
# this config needs haproxy-1.1.28 or haproxy-1.2.1
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
chroot /usr/share/haproxy
uid 99
gid 99
daemon
#debug
#quiet
defaults
log global
mode http
#option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
# 繫結的IP和埠
listen MySQL 10.100.25.42:3308
mode tcp
maxconn 200
# 負載均衡演算法是 輪詢
balance roundrobin
# 透過mysql連線去檢測mysql是否可以訪問
option mysql-check user haproxy_check
server mysql_1 10.100.25.40:3308 inter 1s rise 2 fall 2
server mysql_3 10.100.25.41:3307 inter 1s rise 2 fall 2
server mysql_3 10.100.25.41:3308 inter 1s rise 2 fall 2
# 自帶的監控伺服器的配置
listen admin_status
mode http
bind 0.0.0.0:8899
option httplog
log global
stats enable
stats refresh 10s
stats hide-version
stats realm Haproxy\ Statistics
stats uri /
# 監控的使用者名稱和密碼
stats auth myadmin:myadmin
stats admin if TRUE
2.2. 新增haproxy_check使用者
將以下SQL語句在Master端執行,透過複製功能,傳遞到Slave上。
drop user haproxy_check@'XX';
create user haproxy_check@'XX';
grant usage on *.* to haproxy_check@'XX';
2.3. 配置日誌
注意:該方法僅在 CentOS 6.X 上使用, CentOS 7.x 安裝 HAProxy 後可甠 systemctl status haproxy 進行檢視。
將以下檔案儲存為 /etc/rsyslog.d/49-haproxy.conf
# Create an additional socket in haproxy's chroot in order to allow logging via
# /dev/log to chroot'ed HAProxy processes
$AddUnixListenSocket /var/lib/haproxy/dev/log
$ModLoad imudp
$UDPServerRun 514
local3.* /var/log/haproxy.log
# Send HAProxy messages to a dedicated logfile
if $programname startswith 'haproxy' then /var/log/haproxy.log
&~
然後重啟 rsyslog 服務
Shell> service rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
3. 啟動HAProxy
Shell> service haproxy start
[root@mysql3 ~]# netstat -tunlp | grep haproxy
tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 2583/haproxy
tcp 0 0 0.0.0.0:8899 0.0.0.0:* LISTEN 2583/haproxy
udp 0 0 0.0.0.0:33136 0.0.0.0:* 2583/haproxy
4. HAProxy測試
[root@mysql3 haproxy]# mysql -h 10.100.25.42 -P 3308 -uroot -pmysql -e "show variables like 'server_id'";
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 22 |
+---------------+-------+
[root@mysql3 haproxy]# mysql -h 10.100.25.42 -P 3308 -uroot -pmysql -e "show variables like 'server_id'";
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 33 |
+---------------+-------+
[root@mysql3 haproxy]# mysql -h 10.100.25.42 -P 3308 -uroot -pmysql -e "show variables like 'server_id'";
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 44 |
+---------------+-------+
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2214526/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Haproxy+Keepalived高可用負載均衡叢集負載
- mysql負載均衡搭建(haproxy)MySql負載
- HaProxy 實現 MySQL 負載均衡MySql負載
- 負載均衡叢集負載
- 3.RabbitMQ高階叢集搭建(Haproxy負載均衡、Keepalived高可用)MQ負載
- dubbo叢集和負載均衡負載
- Dapr + .NET Core實戰(十一)單機Dapr叢集負載均衡負載
- keepalived+haproxy實現mysql負載均衡高可用MySql負載
- 負載均衡之--Nginx、LVS、HAProxy負載Nginx
- orleans叢集及負載均衡實現負載
- 藉助 TCP 負載均衡和 Galera 叢集擴充套件 MySQLTCP負載套件MySql
- kubernetes叢集內排程與負載均衡負載
- 負載均衡 - MQTT Broker 叢集詳解(一)負載MQQT
- Haproxy搭建 Web 群集實現負載均衡Web負載
- 在docker中haproxy的安裝以及mysql的負載均衡配置DockerMySql負載
- 叢集,lvs負載均衡的四種工作模式負載模式
- HAProxy高效能軟負載均衡器負載
- RHEL 7配置HAProxy實現Web負載均衡Web負載
- Linux環境搭建Nginx+Tomcat負載均衡叢集LinuxNginxTomcat負載
- docker初體驗:docker部署nginx負載均衡叢集DockerNginx負載
- LVS+Keepalive 實現負載均衡高可用叢集負載
- docker+mysql叢集+讀寫分離+mycat管理+垂直分庫+負載均衡DockerMySql負載
- 負載均衡服務之HAProxy基礎入門負載
- Java程式設計解密-Dubbo負載均衡與叢集容錯機制Java程式設計解密負載
- 叢集、負載均衡、分散式的區別與聯絡負載分散式
- centos7下配置nginx反向代理負載均衡叢集CentOSNginx負載
- 粘性會話負載均衡 - MQTT Broker 叢集詳解(二)會話負載MQQT
- 【Docker】基於例項專案的叢集部署(六)資料庫負載均衡 | Haproxy分發機制 | 監控負載狀況Docker資料庫負載
- RabbitMQ(四):使用Docker構建RabbitMQ高可用負載均衡叢集MQDocker負載
- Dubbo學習筆記(四)叢集容錯與負載均衡筆記負載
- 使用Redis儲存Nginx+Tomcat負載均衡叢集的SessionRedisNginxTomcat負載Session
- mariadb叢集與nginx負載均衡配置–centos7版本Nginx負載CentOS
- LNMP+HAProxy+Keepalived負載均衡(二)- 基礎服務準備LNMP負載
- Nginx/LVS/HAProxy負載均衡軟體的優缺點詳解Nginx負載
- CentOS7+ keepalived+ haproxy搭建Mycat高可用及負載均衡CentOS負載
- 簡單瞭解負載均衡負載
- 淺談達夢DSC叢集以及負載均衡實現與驗證負載
- LNMP+HAProxy+Keepalived負載均衡(一)- LNMP基礎環境準備LNMP負載