mysql双主+keepalived实现高可用集群
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql双主+keepalived实现高可用集群,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4106字,纯文字阅读大概需要6分钟。
内容图文
![mysql双主+keepalived实现高可用集群](/upload/InfoBanner/zyjiaocheng/875/112ed1353e444f1582e8f7dc19ea8abf.jpg)
1、安装并配置keepalived
master-a端:
1)安装keepalived
[root@CentOS ~]#
[root@CentOS ~]# yum install keepalived 安装keepalived
[root@CentOS ~]#
[root@CentOS ~]# rpm -qa keepalived
keepalived-1.3.5-16.el7.x86_64
[root@CentOS ~]#
2)修改 keepalived配置文件
[root@CentOS ~]#
[root@CentOS ~]# > /etc/keepalived/keepalived.conf #清空原来的配置文件
[root@CentOS ~]#
[root@CentOS ~]# vim /etc/keepalived/keepalived.conf #自定义配置文件
! Configuration File for keepalived
global_defs {
notification_email {br/>111111@qq.com
}
smtp_server 192.168.23.1
smtp_connect_timeout 30
router_id MySQL-HA
}
vrrp_script chk_mysql {
script "/etc/keepalived/chk_mysql.sh"
interval 2
weight -5
fall 3
}
vrrp_instance VI_1 {
state BACKUP
interface ens32
mcast_src_ip 192.168.18.103
virtual_router_id 55
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.18.110/24
}
track_script {
chk_mysql
}
}
[root@CentOS ~]#
[root@CentOS ~]# cat /etc/keepalived/keepalived.conf #查看配置
3)编写mysql状态检测脚本
[root@CentOS ~]#
[root@CentOS ~]# vim /etc/keepalived/chk_mysql.sh
#!/bin/bash
counter=$(netstat -na|grep "LISTEN"|grep "3306"|wc -l)
if [ "${counter}" -eq 0 ]; then
systemctl stop keepalived
fi
[root@CentOS ~]#
[root@CentOS ~]# cat /etc/keepalived/chk_mysql.sh #查看脚本内容
[root@CentOS ~]#
[root@CentOS ~]# chmod +x /etc/keepalived/chk_mysql.sh #赋予脚本可执行权限
4)启动keepalived
[root@CentOS ~]#
[root@CentOS ~]# systemctl start keepalived
[root@CentOS ~]# systemctl enable keepalived
master-b端:
1)安装keepalived
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# yum install keepalived
2)修改keepalived配置文件
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# > /etc/keepalived/keepalived.conf #清空原配置
[root@CentOS-2 ~]# vim /etc/keepalived/keepalived.conf #自定义配置文件
! Configuration File for keepalived
global_defs {
notification_email {br/>111111@qq.com
}
smtp_server 192.168.23.1
smtp_connect_timeout 30
router_id MySQL-HA
}
vrrp_script chk_mysql {
script "/etc/keepalived/chk_mysql.sh"
interval 2
weight -5
fall 3
}
vrrp_instance VI_1 {
state BACKUP
interface ens32
mcast_src_ip 192.168.18.104
virtual_router_id 55
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.18.110/24
}
track_script {
chk_mysql
}
}
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# cat /etc/keepalived/keepalived.conf
3)编写mysql状态检测脚本
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# vim /etc/keepalived/chk_mysql.sh
#!/bin/bash
counter=$(netstat -na|grep "LISTEN"|grep "3306"|wc -l)
if [ "${counter}" -eq 0 ]; then
systemctl stop keepalived
fi
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# cat /etc/keepalived/chk_mysql.sh
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# chmod +x /etc/keepalived/chk_mysql.sh #赋予脚本可执行权限
4)启动keepalived
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# systemctl start keepalived
[root@CentOS-2 ~]# systemctl enable keepalived
2、测试keepalived+MySQL双主可用性
1)查看mysql状态
master-a端:
[root@CentOS ~]#
[root@CentOS ~]# systemctl status mysqld #查看mysql是否在运行
master-b端:
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# systemctl status mysqld
2)查看VIP在哪个服务器上
master-a端:
[root@CentOS ~]#
[root@CentOS ~]# ip a #发现VIP此时位于master-a端
master-b端:
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# ip a
3)停掉master-a端的mysql服务,查看VIP在哪台服务器上
master-a端:
[root@CentOS ~]#
[root@CentOS ~]# systemctl stop mysqld
[root@CentOS ~]# ip a
master-b端:
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# ip a #去master-b端查看
4)启动master-a端的mysql服务以及keepalived服务,停止master-b端的mysql服务,此时在查看VIP在哪台服务器上
[root@CentOS ~]#
[root@CentOS ~]# systemctl start mysqld #启动master-a端的mysql
[root@CentOS ~]# systemctl start keepalived #启动master-a端的keepalived
[root@CentOS ~]#
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# systemctl stop mysqld #停止master-b端的mysql
[root@CentOS-2 ~]#
[root@CentOS ~]#
[root@CentOS ~]# ip a #查看master-a端的网卡情况
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# ip a #查看master-b端的网卡情况
3、实验结论
通过验证对比发现,MySQL双主集群通过keepalived成功实现了高可用
内容总结
以上是互联网集市为您收集整理的mysql双主+keepalived实现高可用集群全部内容,希望文章能够帮你解决mysql双主+keepalived实现高可用集群所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。