linux mysql负载均衡_搭建MySQL负载均衡及高可用环境

#keepalived 主和备的配置文件基本相同;只需要修改:

state BACKUP #修改为备份设备

priority 100 #优先级要比主低

#其它地方根据实际情况也可以做调整;

=======================================================

#新建刚才配置keepalived 时所定义的脚本,用于在MySQL 死亡后结束 keepalived

#!/bin/bash

#mysql_chke.sh

#

a=`ps -C mysqld --no-header | wc -l`

if [ $a -eq 0 ];then

sleep 3

/sbin/service keepalived stop

echo "`date +%c` stop keepalived" >> /opt/log/stop_keepalived.log

fi

fi

service keepalived start    #在两台设备上面启动

#开始测试

ip address

#查看主设备 11 上是否有生成 vip 地址;

#注意事项,keepalived 生成的 VIP 对 ifconfig 命令不可见,所以需要使用 ip 命令;

mysql -udiaosi -p123456 -h 192.168.5.111 -e "select * from test.mywait;"

#正常情况是只能查询到 MASTER 的数据库的数据;

1、尝试将 MASTER 的keepalived 停掉

2、down 掉 MASTER 的网卡

3、让mysql 启动不了,比如先注释掉mysql这个用户,后killall mysqld ,

查看mysql_chke 脚本是否会把 keepalived 结束掉;

#这个时后 vip 地址会移动到 Slave 主机上; HA 搭建的是否成功体现于查询所获取值的变化;

#当将 MASTER 恢复后,VIP 又会回到 11 的设备上;

#至此 keepalived 为 mysql 做HA 模式成功;

========================================================================

[install_haproxy]

#用于将请求分别轮询到 192.168.5.11 192.168.5.12

tar xf /opt/soft/haproxy-1.4.20.tar.gz -C /opt/soft/

cd /opt/soft/haproxy-1.4.20/

make TARGET=linux26 PREFIX=/opt/haproxy install

mkdir /opt/haproxy/conf

mkdir /opt/haproxy/logs

touch /opt/haproxy/conf/haproxy.cfg

========================================================================

[mysql_config]

#修改 mysql 监听,使 mysql 避开 192.168.5.111,因为 haproxy 也要监听 111:3306 这个IP地址和端口;

vim /etc/my.cnf

#server1

[mysqld]

bind-address=192.168.5.11 #mysql 的监听,添加这一句就好了

#server2

[mysqld]

bind-address=192.168.5.12

#重启mysql

service mysqld restart

#到现在已经不能通过 192.168.5.111 访问数据库了,接下来配置 haproxy

========================================================================

[config_haproxy]

#主备服务器的主配文件一致;

vim /opt/haproxy/conf/haproxy.cfg

global   #全局系统配置

log 127.0.0.1 local0 info #定义日志级别[err warning info debug]

#local0 是日志设备,必须为24种标准syslog设备之一;

maxconn 4096  #最大链接数

uid 0   #运行该程序的用户,此处没有其它用户了,就用的 root

gid 0

daemon   #以后台形式运行

nbproc 1  #进程数量

defaults   #默认配置

mode tcp  #所处理的类别 http | tcp | health

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

retries 3  #三次连接失败则服务器不用

timeout connect 5000 #连接超时

timeout client 50000 #客户端超时

timeout server 50000 #服务器超时

timeout check 2000 #心跳检测超时

listen proxy

bind 192.168.5.111:3306  #监听地址

mode tcp

balance roundrobin  #定义负载方式,此处为轮询

log 127.0.0.1 local0 info #定义日志类型

#rise 3三次正确表示服务器可用,fall 3表示3次失败表示服务器不可用

server db1 192.168.5.11:3306 check inter 1200 rise 2 fall 3 weight 1

server db2 192.168.5.12:3306 check inter 1200 rise 2 fall 3 weight 1

#服务器状态监控配置,可以通过定义的地址查看集群状态;

listen haproxy_stats

log 127.0.0.1 local0 info

mode http

bind 192.168.5.111:8888

option httplog

stats uri /status

stats realm Haproxy Manager

stats auth admin:admin  #设置监控地址的帐号与密码

#在keepalived 主配文件中添加刚才在其末端说明的外部定义脚本

#启动服务

/opt/haproxy/sbin/haproxy -f /opt/haproxy/conf/haproxy.cfg

#说明事项,keepalived 的服务主备设备上都可以同时运行,实则只有获得VIP的服务器才有效;

#但是 haproxy 启动的时候需要监听 VIP 地址,所以第一次备用设备是手动起不了服务的;

#需要在 keepalived 的notify_master配置项中设定脚本,当此设备获得VIP地址后才启动 haproxy;

#有个问题在这里,我们只设定了当keepalived 停止服务时,才结束 haproxy ,没有设定移交VIP时是否结束;

#其实这也不用担心,因为主机上已经没有VIP地址了,即便是监听也无效果,并无干扰;0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值