terte 发表于 2018-4-9 13:15:50

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]
查看完整版本: MySQL互为主从+Keepalived高可用数据库集群