MySQL Auto-Failover 功能测试

参考资料:

Replication and auto-failover made easy with MySQL Utilities

环境介绍:
master: demoenv-trial-1
slaves: demoenv-trial-2 demoenv-trial-3

1. 安装 Percona Server,在所有服务器上:

2. 配置 /etc/my.cnf,在所有服务器上:
注意:确保 server-id 不同且 report-host 与自身主机名相同

3. 创建所需目录,在所有服务器上:

4. 初始化数据库,在所有服务器上:

5. 创建授权用户 root@’%’ 以便通过 mysqlreplicate 来进行主从复制的配置,在所有服务器上:

6. 创建复制所需的用户,在所有服务器上:

7. 配置主从复制,可选择任意一台服务器操作:

8. 验证主从复制的数据完整性

9. 关闭 master 测试 auto-failover

然后,执行命令的终端就挂起了,需要另外开启一个终端来关闭master:

接着,在刚刚挂起的终端上,可以看到:

服务器 ‘demoenv-trial-2’ 变成了新的master。

10. 插入数据测试主从复制

11. 尝试将旧的master恢复

在刚刚挂起的终端上,可以看到:

将旧的master恢复

在刚刚挂起的终端上,可以看到:

可以看到failover在手动恢复了旧的master之后已经停止了工作。

按下Q,然后重启auto-failover:

它又可以工作了。

12. 对于 auto-failover 的简短总结:
它包含在mysql-utilities这个软件包中;
它只能工作在MySQL 5.6 版本上,因为需要GITDs的支持;
它可以自动选取一个slave作为新的master,当现有的master死掉以后;
但是它不能自动将旧的master恢复,并且在手动恢复了旧的master之后也会停止工作。

转自http://heylinux.com/archives/2776.html