MySQL复制:再次让主设备与从设备同步

我有两台电脑在同一个networking上,在主从复制设置。

简单地testing故障转移,我直接插入一些数据到从数据库。 所以现在从属数据库包含比主数据库更多的信息。

现在我想让主机再次与从机同步,以回到真正的主从设置。 我该怎么做?

我们不要将它们称为“主”和“奴隶”,而应该这样概括:

  • 主持人:原“主人”
  • HostB:原来的“奴隶”

当你将数据直接插入HostB时,HostA落后于二进制oplog。 您首先需要通过使用CHANGE MASTER TO命令( http://dev.mysql.com/doc/refman/5.0/en/change-master-to.html )将HostA作为HostB的从属服务器来解决这个问题。 这应该会导致HostA与HostB同步。

一旦HostA赶上HostB,你会想重置HostA的二进制日志,并将其提升为主。

  1. 在HostA上: RESET MASTER;
  2. 在HostB: CHANGE MASTER TO

有关更多信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/replication-solutions-switch.html#figure_replication-redundancy-after

替代scheme:

  • 停止奴隶和主人。
  • 运行像从Navicat到从数据同步从SLAVE到MASTER的程序。
  • 重置从属和主。
  • 开始主和奴隶。

数据应该不错。