0

我有一个 MySQL 从属服务器,它在一台服务器上运行,但我需要迁移到新服务器。我关闭了原始服务器上的从属服务器,将数据库复制到新服务器并启动了 MySQL。

我使用 更新了 Master 配置Change Master To,表示主服务器名称、master_log_pos(与退役从属服务器上的 exec_master_log_pos 值相同)等。

我启动了奴隶并遇到了几个错误:

  1. 新从属服务器上的服务器 ID 意外匹配主服务器 ID
  2. 新从站上的临时文件夹不存在。

我更正了这两个错误,并重新启动了 MySQL。

现在在我的奴隶状态下,我不再看到任何错误,但Exec_Master_Log_Pos不会增加。不断变化,这Read_Master_Log_Pos意味着它正在接收主更新,但从似乎没有执行日志文件中的更改。

Read_Master_Log_Pos: 171716503
Exec_Master_log_Pos: 168097060

如何强制从站开始执行日志中的语句?我试图停止和启动从属服务器(都使用从属启动/停止和重新启动 mysql 本身),但似乎都没有任何影响。

4

1 回答 1

0

事实证明,我有一个崩溃的表,并且 MySQL 无法对从属服务器运行任何更新,直到该表被修复。我mysqlcheck -r在上面运行,修好了桌子,重新启动了从属服务器,一切都恢复正常了。

希望这可以帮助将来遇到类似问题的人。

于 2013-08-08T18:43:22.310 回答