可以用HA负载mysql吗_用Haproxy给MySQL做负载均衡

1.安装

# wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz

# tar zcvf haproxy-1.4.24.tar.gz

# cd haproxy-1.4.24

# make TARGET=linux26 PREFIX=/usr/local/haproxy #将haproxy安装到/usr/local/haproxy

# make install PREFIX=/usr/local/haproxy

2.配置

在/usr/local/haproxy/etc/下新建haproxy.cfg配置文件。内容为:

global

log 127.0.0.1 local0 info #日志相关

log 127.0.0.1 local1 notice

maxconn 4096

chroot /usr/local/haproxy

uid root

gid root

daemon

#debug

#quiet

pidfile /usr/local/haproxy/haproxy.pid

defaults

log global

mode http

#option httplog

option dontlognull

retries 3

option redispatch

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

listen mysql

bind 0.0.0.0:23306 #代理端口

mode tcp #模式 TCP

option mysql-check user root #mysql健康检查 root为mysql登录用户名

balance roundrobin #调度算法

server mysql1 192.168.137.122:3306 weight 1 check inter 1s rise 2 fall 2 #健康检查加上check

server mysql2 192.168.137.46:3306 weight 1 check inter 1s rise 2 fall 2

listen stats #监控

mode http

bind 0.0.0.0:8888

stats enable

stats uri /dbs

stats realm Global\ statistics

stats auth admin:admin

说明:mysql负载均衡要用tcp模式,在使用负载均衡前,需要mysql能让haproxy的ip远程访问,inter表示健康检查的间隔,单位为毫秒 可以用1s等,fall代表健康检查失败2回后放弃检查。rise代表连续健康检查成功2此后将认为服务器可用。默认的,haproxy认为服务时永远可用的,除非加上check让haproxy确认服务是否真的可用。

调度算法:

roundrobin :

依照权重一次调度服务,当服务器的处理时间公平分配时这是最快的最顺畅的算法 。

3 启动:

[root@web2 etc]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg

[root@web2 etc]# cd ../sbin/

[root@web2 sbin]# ls

haproxy

[root@web2 sbin]# ps -ef | grep haproxy

root 4223 1 0 18:12 ? 00:00:00 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg

root 4228 3754 0 18:12 pts/0 00:00:00 grep haproxy

[root@web2 sbin]#

停掉一个sql节点:service mysqld stop

再次查看:

36b55e14ecee36650ff6f56b18c59a76.png

可以看到检查出了mysql1不可用,service mysqld start 恢复mysql1的实例。

26c259687a1c16c7c0914bebaeb26596.png

虽然测试成功 但是还有一个问题 就是现在访问数据库的用户root不能有密码, 加上了密码就显示数据库DOWN 要想数据库加密码 需要将

option mysql-check user root 这行注释点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值