MySQL互为主从+Keepalived高可用数据库集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL互为主从+Keepalived高可用数据库集群相关的知识,希望对你有一定的参考价值。

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,结果发现正常,更多测试结果这里不做提供。

技术分享图片

以上是关于MySQL互为主从+Keepalived高可用数据库集群的主要内容,如果未能解决你的问题,请参考以下文章

Mysql互为主从+keepalived实现高可用性

MySQL高可用,MySQL互为主从+keepalived。

mysql-----keepalived配置mysql的高可用

mysql主主复制及keepalived高可用群集

keepalived+mysql主主实现高可用

MySQL + KeepaLived 高可用