PXC集群搭建请参考之前的文章

安装HAProxy

下载:https://src.fedoraproject.org/repo/pkgs/haproxy/,我使用的是1.8.20版本

#解压
tar zxvf haproxy-1.8.20.tar.gz
cd haproxy-1.8.20
#编译
make TARGET=linux31
make install PREFIX=/usr/local/haproxy
#复制配置文件到指定目录
mkdir -p /usr/local/haproxy/conf
cp /usr/local/haproxy-1.8.20/examples/option-http_proxy.cfg /usr/local/haproxy/conf/haproxy.cfg

配置

#
# demo config for Proxy mode
#

global
maxconn 20000
ulimit-n 16384
log 127.0.0.1 local0 info
uid 200
gid 200
chroot /var/empty
nbproc 4
daemon

defaults
log global
mode http
#日志格式
option httplog
#日志中不记录负载均衡的心跳检测记录
option dontlognull
#连接超时(毫秒)
timeout connect 5000
#客户端超时(毫秒)
timeout client 5000
#服务器超时(毫秒)
timeout server 5000
#尝试次数
retries 2

listen admin_stats
#监控界面的访问ip和port
bind 0.0.0.0:8888
#访问协议
mode http
#URI相对地址
stats uri /dbs
#统计报告格式
stats realm Global\ statistics
#登录账户信息
stats auth admin:123456

listen proxy-mysql
bind 0.0.0.0:3306
mode tcp
#负载均衡算法
#轮询:roundrobin 权重:static-rr 最少连接:leastconn 请求ip:source
balance roundrobin
#日志格式
option tcplog
#在MySQL中创建一个没有权限的haproxy用户,密码为空. Haproxy使用这个账户对MySQL数据库心跳检测
# CREATE USER 'haproxy'@'%' IDENTIFIED BY '';
option mysql-check user haproxy
#使用keepalive检测死链
option tcpka
server server1 192.168.37.142:3306 check maxconn 2000
server server2 192.168.37.143:3306 check maxconn 2000
server server3 192.168.37.144:3306 check maxconn 2000

验证

1.浏览器输入ip:8888/dbs,通过配置的用户名和密码登录

2.使用navicat连接数据库
通过HAProxy的 ip 加上 listen proxy-mysql 配置的端口连接,在创建数据库,查看pxc各个节点的数据库