2012-03-14 63 views
1

我正在将一组HD中的MySQL从设备从一组HD移动到另一组。该机器的配置使我无法同时拥有旧硬盘和新硬盘。所以我rsync'd数据目录到另一台机器。将MySQL从设备移动到新的硬盘驱动器 - 我需要mysqld-relay-bin日志吗?

磨片新的硬盘驱动器在网上来了,我rsyn'ed数据目录回来。这工作得很好。

但是,我不能开始复制。这是我得到的错误。

120314 4:23:07 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=mysqld-relay-bin' to avoid this problem. 
120314 4:23:07 [ERROR] Failed to open the relay log '/var/lib/mysqllogs/mysqld-relay-bin.000273' (relay_log_pos 677043943) 
120314 4:23:07 [ERROR] Could not find target log during relay log initialization 
120314 4:23:07 [ERROR] Failed to initialize the master info structure 

我发现了这个评论: https://serverfault.com/questions/61471/moving-a-mysql-slave-to-a-new-host-failed-to-open-the-relay-log

如果只是抱怨中继日志,在大多数情况下,他们 都是一次性的,如果主仍然有各地的二进制日志。您可以 在从站上运行CHANGE MASTER TO,它将刷新现有的 中继日志并重新开始。您不需要制作新的副本。

这似乎表明,我并不需要这些日志文件。

主机名称未更改。

我的问题:

我需要这些日志文件?

如果不是这样,我需要做什么才能得到复制开始了吗?它会记得它离开的地方吗?

如果我确实需要这些日志文件,有什么事我差点忘?

回答

4

我不认为你需要的继电器箱包厢文件才能正常工作。它可能记得它停止的地方,你是否尝试命令mysql>RESET SLAVE;?您应该通过SHOW SLAVE STATUS从SLAVE获取位置;查看是否仍然记住,然后检查主服务器上的日志文件是否仍然存在,因为只要您设置最大文件大小,它就会保留它。但请尝试RESET SLAVE;如果你没有,它会做魔术。您可能需要在锁定表后立即转储现有服务器数据,然后执行“SHOW MASTER STATUS”,如果您可以选择从头开始复制,则不建议尝试保存此过程。

+1

'RESET SLAVED'像老板一样工作,谢谢。很多在线文档都有“更多的变通”,这些变得更加复杂。 – 2014-08-18 06:14:30

相关问题