如何真正使用MySQL的奴隶,尽快主人故障转移或烧毁

我有MySQL主从复制,工作正常; 我GOOGLE了整个networking和MySQL网站find使用复制的标准程序,但什么也没有find。 就好像pipe理员很乐意复制一样,但是在进行灾难恢复的时候,没有最初的计划被实施和公开分享。

我想知道的是如何让奴隶机器取代主人的情况下,后来被损坏,烧等。我想奴隶机器应采取主人的networking地址,但还有什么应该做的? 例如,更改MySQL用户权限或运行一些命令! 如果有的话请包括参考。

对于DR解决scheme,您最可能需要半手动过程。 也就是说,您需要确定灾难是否能够validation完整的灾难恢复故障转移,而且这不仅仅是一个小型networkingblipp,而且您还需要花费几天时间进行故障恢复工作。

要将MySQL从设备切换到主设备,只需在MySQL中发出一些命令,就可以在这里findMysql详细信息。

我强烈build议脚本化整个过程(并对其进行testing!),然后添加其他可能需要在该框上运行的命令以执行DR故障转移(重新启动Web层或其他所需的任何其他命令)。 我们在pipe理服务器上使用func来运行我们应用程序中所有层的故障转移命令。

当提到灾难恢复时,我正在谈论网站故障。 对于集群故障切换,事情应该是自动的,而且要简单得多。

所有用副本来replaceMySQL服务器所需的是切换服务器的IP地址,在MySQL上不需要进一步的命令。

如果您需要一些安心,并且自动执行此操作,您可以执行以下操作以获得额外的舒适感:

  • 有两个MySQL服务器做主 – 主复制,检查它在这里
  • 创build一个由最初的主服务器使用的虚拟IP,我为此用户心跳(LinuxHA项目的一部分),但是你可以使用你的操作系统的首选武器
  • configurationIP切换的参数,这可能是networking正在closures,另一台机器正在死亡或者只是MySQL被closures

这个设置有很多好处,你可以通过切换到另一个节点,轻松地在一个节点上进行维护,无忧恢复,甚至不需要起床:)虽然有一个build议,对你的虚拟IP参数,你可以结束两个节点试图声称虚拟IP不是所需的结果。

假设你有2个MySQL从站:从站1和从站2.如果你的主站断开,你决定提升从站1成为一个新的主站。 我build议遵循以下程序:

确保所有的从站已经在中继日志中处理了任何语句:

mysql> STOP SLAVE IO_THREAD; mysql> SHOW PROCESSLIST; to see `Has read all relay log` state. 

在奴隶1上,推动它成为主人:

 mysql> STOP SLAVE; mysql> RESET MASTER; 

在从站2上,指向新的主站:

 mysql> CHANGE MASTER TO MASTER_HOST='slave 1'; mysql> START SLAVE; 

最后是指示每个客户端将其语句指向Slave 1。

http://dev.mysql.com/doc/refman/5.0/en/replication-solutions-switch.html