1

我正在将 MySQL 从设备从一组 HD 移动到另一组。机器的配置使我无法同时拥有新旧硬盘驱动器。所以我将数据目录同步到另一台机器。

当新硬盘上线时,我重新同步了数据目录。这工作得很好。

但是,我无法开始复制。这是我得到的错误。

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

1 回答 1

4

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

于 2012-03-29T21:18:01.970 回答