有两台mysql需要用来均衡负载和高可用,当然你可以加入更多的mysql服务器
server1 haproxy 192.168.0.5 centos7
server2 mysql5.7 192.168.0.6 centos7
server3 mysql5.7 192.168.0.7 centos7
本地电脑 系统win7装好telnet客户端 192.168.0.8 win7
分别安装好mysql5.7
同时分别把server2及3的防火墙的3306端口打开

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4406/tcp --permanent
firewall-cmd --reload

在server2及3上增加一个haproxy监控mysql的用户,密码为空(要登录mysql)

CREATE USER 'haproxy'@'%';

现在在本地电脑上开始---运行---cmd---telnet 192.168.0.6 3306,看是否通,server2和server3都需要测通才可以使用。
做好双主同步
装好haproxy
增加haproxy配置文件mysql的默认配置片段,事务持久性transaction persistent产生影响,在defaults的最后一行的下一段生产环境建议不要使用这一段,而使用优化的一段

listen MySQL
bind 0.0.0.0:3306
mode tcp
maxconn 200
balance roundrobin
option mysql-check user haproxy
server mysql1 192.168.0.3:3306 weight 1 check  inter 1s rise 2 fall 2
server mysql2 192.168.0.6:3306 weight 1 check  inter 1s rise 2 fall 2

优化,实现 mysql读写分离,读的时候用3306端口写的时候用4406端口。
读,还是上面的代码

listen MySQL_read
bind 0.0.0.0:3306
mode tcp
maxconn 200
balance roundrobin
option mysql-check user haproxy
server mysql1 192.168.0.3:3306 weight 1 check  inter 1s rise 2 fall 2
server mysql2 192.168.0.6:3306 weight 1 check  inter 1s rise 2 fall 2

listen MySQL_write
bind 0.0.0.0:4406
mode tcp
maxconn 200
balance roundrobin
option mysql-check user haproxy
server mysql1 192.168.0.3:3306 weight 1 check  inter 1s rise 2 fall 2
server mysql2 192.168.0.6:3306 weight 1 check  inter 1s rise 2 fall 2 backup

这样就实现了读写分离,在写的时候4406端口时,server2为主写入口,server3为备写口,当server2不可用时,自动切换到server3上写。这样就避免了事务持久性transaction persistent出错。
监控段

    listen admin_stats
                mode http
                bind 0.0.0.0:9999
                stats enable
                stats uri /dbs
                stats realm Global statistics
                stats auth admin:admin

重启server1的haproxy后,在本地电脑上访问http://192.168.0.5:9999/dbs,输入admin和密码:admin现在可以打开监控界面看mysql了

查看端口

yum -y install net-tools -y
netstat -ntlp

显示

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      86126/haproxy
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      86126/haproxy
tcp        0      0 0.0.0.0:4406            0.0.0.0:*               LISTEN      86126/haproxy
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      29047/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1453/master
tcp6       0      0 :::22                   :::*                    LISTEN      29047/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1453/master

完成。

分类: linux负载均衡 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录