简单画一个图:
一、服务器规划
192.168.116.132 (master) -->写操作
192.168.116.129 (slave1) -->读操作
192.168.116.131 (slave2) -->读操作
192.168.116.130 (haproxy) -->代理
mysql主从复制配置略过。
二、安装配置haproxy
安装haproxy
tar zxf haproxy-1.4.21.tar.gz cd haproxy-1.4.21 make TARGET=linux26 PREFIX=/app/haproxy make install PREFIX=/app/haproxy mkdir /app/haproxy/{conf,log}
配置haproxy
vi /app/haproxy/conf/haproxy.cfg #添加如下内容 global log 127.0.0.1 local3 info #日志相关 log 127.0.0.1 local3 notice maxconn 10240 chroot /app/haproxy uid root gid root daemon pidfile /app/haproxy/log/haproxy.pid defaults #log global mode http #option httplog #option dontlognull option redispatch retries 3 option redispatch maxconn 4096 contimeout 50000 clitimeout 50000 srvtimeout 50000 listen mysql-proxy bind 0.0.0.0:33307 #代理端口 mode tcp #模式 TCP option mysql-check user haproxy #mysql健康检查,haproxy用户无任何权限,并且无密码 balance roundrobin #调度算法 server mysql1-129 192.168.116.129:3306 weight 1 check inter 1s rise 2 fall 2 #健康检查加上check server mysql2-131 192.168.116.131:3306 weight 1 check inter 1s rise 2 fall 2 listen stats #监控 mode http bind 0.0.0.0:19999 stats enable stats uri /dbs stats realm Global statistics stats auth admin:admin
启动haproxy
/app/haproxy/sbin/haproxy -f /app/haproxy/conf/haproxy.cfg
打开浏览器查看:
用户名及密码:admin/admin