MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL replication技术。MySQL replication就是从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性。
为了达到更高的可用性,在实际的应用环境中,一般都是采用MySQL replication技术配合高可用集群软件keepalived来实现自动failover
实验环境如下
数据库编译过程略,下面开始进入配置过程。
Host01 在/etc/my.cnf文件中的“[mysqld]”段添加如下内容:
Host02 在/etc/my.cnf文件中的“[mysqld]”段添加如下内容:
首先在host01的mysql库中创建复制用户,操作过程如图所示。
然后在host02的mysql库中将host01设为自己的主服务器,操作过程如图所示。
再host01 主数据库上面创建数据库kkk,在host02备用数据库观察是否同步过来
Host01上面操作
Host02上面观察
可以看到数据库kkk同步过来了,说明主从同步成功
两台数据库安装高可用软件keepalived,安装过程这里略过
主库host01 keepalived配置如下
从库host02配置如下
查看VIP地址情况,注意VIP地址只能出现在一端,两端都有说明出现了脑裂
开启第三台机器作为客户端连入VIP地址测试
在主从服务器上面做好客户端的授权操作
客户端连入VIP登陆测试
可以看到此时连入的是主库,此时模拟故障,将主库mysql停掉观察现象
主库上面,可以看到VIP地址被移除了
从库上面,VIP地址已经漂移过来
客户端上面,可以看到确实连接到了从库
本文出自 “martin” 博客,请务必保留此出处http://huaxin.blog.51cto.com/903026/1768614
原文地址:http://huaxin.blog.51cto.com/903026/1768614