1.剧情回顾
在之前的博客上,我做了一个MySQL主从配置的实验,链接在这:http://blog.51cto.com/superpcm/2094958 。在这里我决定把这两个数据库做成互为主从,然后在这两个互为主从的数据库上配置keepalived,实现高可用,怎么配置可以参考我前文高可用的实验博客,http://blog.51cto.com/superpcm/2095395 。
最后实现的的拓扑图如下:
2.配置MySQL 互为主从复制
之前可能没有说明,实验默认都是开放所有端口给同一网段的,iptables里面设置。
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。
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软件,设置为开机启动
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。
vim /usr/local/nginx/html/blog/wp-config.php
define('DB_HOST', '192.168.31.54');
(5)登陆wordpress,结果发现正常,更多测试结果这里不做提供。
原文地址:http://blog.51cto.com/superpcm/2095731