1.准备好4台机器
192.168.100.193 master
192.168.100.194 slave
192.168.100.195 slave
192.168.100.196 haproxy
主从已经搭建好,可以参考 上一个文档 主从复制
mysql全部使用默认端口 3306
2.创建一个test用户 并授权
在主节点执行下面两条sql就可以
create user ‘test’ @’192.168.100.%’ identified by ‘test’
grant all on *.* to ‘test’ @’192.168.100.%’
3.下载haproxy
用 haproxy-1.7.11.tar.gz下载地址:https://download.csdn.net/download/a375015762/10386539
tar -zxvf haproxy-1.7.11.tar.gz
4.安装
查看liunx的系统 版本 cat /proc/version
tar -zxvf haproxy-1.7.11.tar.gz
cd /home/soft/haproxy-1.7.11 执行:
make TARGET=linux26
make install PREFIX=/usr/local/haproxy // PREFIX 指定安装的路径
/usr/local/haproxy创建一个 mkdir logs
/usr/local/haproxy创建一个 mkdir conf
/usr/local/haproxy/conf 创建 touch haproxy.cnf
/usr/local/haproxy/conf 创建 echo 1 > haproxy.pid
haproxy.cnf的类容:
global
daemon # 后台方式运行
nbproc 1
pidfile /usr/local/haproxy/conf/haproxy.pid
defaults
mode tcp #默认的模式mode { tcp|http|health },tcp 是4 层,http 是7 层,health 只会返回OK
retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置
option redispatch #当serverId 对应的服务器挂掉后,强制定向到其他健康的服务器
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
maxconn 4096 #默认的最大连接数
timeout connect 5000ms #连接超时
timeout client 30000ms #客户端超时
timeout server 30000ms #服务器超时
#timeout check 2000 #=心跳检测超时
log 127.0.0.1 local0 err #[err warning info debug]
##balance source
########test1 配置#################
listen test1 #这里是配置负载均衡,test1 是名字,可以任意
bind 0.0.0.0:3306 #这里是监听的IP 地址和端口,端口号可以在0-65535 之间,要避免端口冲突
mode tcp #连接的协议,这里是tcp 协议
#maxconn 4086
#log 127.0.0.1 local0 debug
server s1 192.168.100.194:3306 check port 3306 #负载的机器
server s2 192.168.100.195:3306 check port 3306 #负载的机器,负载的机器可以有多个,往下排列即可
#################配置登录界面
listen admin_statsbind 0.0.0.0:8888
mode http
stats uri /haproxy
###stats realm Global\ statistics
stats auth xiaoming:xiaoming
启动haproxy
./usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cnf
http://192.168.111.100:8888/haproxy