您的位置:首页 > 数据库 > MySQL

HAProxy实现mysql负载均衡

2017-03-05 16:13 381 查看

安装

yuminstallhaproxy

修改配置

vi/etc/haproxy/haproxy.cfg


配置如下

global

daemon

nbproc1

pidfile/var/run/haproxy.pid

defaults

modetcp#默认的模式mode{tcp|http|health},tcp是4层,http是7层,health只会返回OK

retries3#两次连接失败就认为是服务器不可用,也可以通过后面设置

optionredispatch#当serverId对应的服务器挂掉后,强制定向到其他健康的服务器

optionabortonclose#当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接

maxconn4096#默认的最大连接数

timeoutconnect5000ms#连接超时

timeoutclient30000ms#客户端超时

timeoutserver30000ms#服务器超时

timeoutcheck2000#=心跳检测超时

log127.0.0.1local0err#[errwarninginfodebug]

listenconfigMysql

bind127.0.0.1:3306

modetcp

maxconn4086

servers1192.168.75.128:3306

servers2192.168.75.130:3306

启动

在解压目录下执行haproxy-f/etc/haproxy/haproxy.cfg

或者使用

/bin/systemctlstarthaproxy.service

查看状态

/bin/systemctlstatushaproxy.service

需要注意的点:

1、端口3306不能被占用,如果本机有mysql,服务必须关闭。

2、/var/run/haproxy.pid的目录权限给够,如果存在haproxy.pid在第一次启动前必选删除。

3、其他错误请参考博客http://blog.csdn.net/aa168b/article/details/50372649

HAProxy厉害的点,不需要写mysql的健康检测,软件本身可以检测出mysql服务停止,然后切换到正常的服务器上,而且当mysql服务器重启之后,HAProxy不需要重启,也能识别并且切换上去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: