MySQL互为主从+Keepalived高可用数据库集群
1.剧情回顾在这里我决定把这两个数据库做成互为主从,然后在这两个互为主从的数据库上配置keepalived,实现高可用
最后实现的的拓扑图如下:
2.配置MySQL 互为主从复制
之前可能没有说明,实验默认都是开放所有端口给同一网段的,iptables里面设置。
1
2
iptables -I INPUT -s 192.168.31.0/24 -j ACCEPT
/etc/init.d/iptables save
(1)设置MySQL02(原来的从数据库)的配置文件,vim /etc/my.ini,增加一行log-bin,然后重启数据库:/etc/init.d/mysqld restart
(2)查看MySQL02上的master状态,记录下file和position的数据。
(3)在MySQL01数据库上添加change master。
1
2
3
4
5
6
7
CHANGE MASTER TO
MASTER_HOST='192.168.31.53',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='pcm123456',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=712372;
(4)启动slave,查看slave的状态。在这里就成功了,如果要测试的话,可以像之前的博文那样测试。
3.用Keepalived实现数据库的高可用。
(1)安装keepalived软件,设置为开机启动
1
2
yum install keepalived
echo "/etc/init.d/keepalived start" >>/etc/rc.local
(2)配置keepalived的配置文件,主要的配置如下。
(3)启动keepalived软件,检查是否在MySQL01上生成VIP:192.168.31.54
(4)上面出现只在MySQL01上VIP则是成功了,可以在01上关闭keepalived然后检查02会不会出现VIP。然后在其他的设备上查看能不能通过vip登陆mysql。这里由于我前面在web01和web02上搭建了wordpress,我直接修改wordpress的配置文件,把数据库指向为192.168.31.54。
1
vim /usr/local/nginx/html/blog/wp-config.php
1
define('DB_HOST', '192.168.31.54');
(5)登陆wordpress,结果发现正常,更多测试结果这里不做提供。
页:
[1]