2010-08-14 80 views
1

我打算使用MySQL设置与一个主服务器和几个从服务器 。我会在其中一个从服务器 服务器上执行数据EBS的定期一致备份(我将始终停止数据库并在完成时重新启动它)。主从故障转移从从快照

奴隶故障
我的奴隶失败,我会基于最新从快照作为新的数据磁盘启动新的实例和MOUN EBS之一。在这种情况下,主人随时都可以使用。所以这是我认为我应该做的:

0)确保服务器使用唯一的server_id 1)从站停止;
2)RESET SLAVE;
3)START SLAVE;
4)重新启动mysql?

那够了吗?

主站故障转移 为了简单和一致性的原因,我不想提升其中一个主站。我更喜欢从头开始创建新的主人。问题是快照来自从机,我想用它作为主机。这是我认为应该在创建基于从快照的磁盘的新实例后应该执行的操作:

1)STOP SLAVE;
2)RESET MASTER;
3)重新启动mysql
4)将弹性IP关联到新的主数据库(相同的IP被失败的主数据库使用),因此从属设备将能够再次连接。

该过程是否正确? 现在我应该怎么处理奴隶?从属可以在主人之前,因为主人是从几个小时前的快照中恢复的。这是问题吗?还有可能从用于恢复主机的相同快照重新创建所有从机。然后他们会和主人一样。但是,如果没有停机时间,这可能会很复杂并且无法继续。有没有更好的方法如何做到这一点?

非常感谢您提前!

注:我不介意自从最新快照以来丢失的交易。我正在使用Mysql 5.1.41。

回答

0

两个方法,我用它来恢复出不同步的服务器是:

  • 重新导入转储从一个“好”服务器到“坏”的服务器。在你的情况下,它会从一个好的奴隶导入一个转储到坏主人。
  • 在受影响的服务器上运行一个Navicat程序。 Navicat有一个允许两个表(单向,双向等)之间数据同步的功能,以便重新添加任何缺失的记录。

在这两种方法中,您都需要停止主控并重置主控。重置奴隶也将有所帮助。