MySQL slave没有更新/同步

时间:2013-08-01 21:06:02

标签: mysql replication slave

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

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

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

  1. 新从属服务器上的server-id意外地与master server-id
  2. 匹配
  3. 新奴隶上的临时文件夹不存在。
  4. 我纠正了两个错误,并重新启动了MySQL。

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

    Read_Master_Log_Pos: 171716503
    Exec_Master_log_Pos: 168097060
    

    如何强制奴隶开始执行日志中的语句?我试图停止并启动奴隶(都使用slave启动/停止并重启mysql本身),但似乎都没有任何影响。

1 个答案:

答案 0 :(得分:0)

事实证明我有一个崩溃的表,MySQL在修复表之前无法对从属服务器运行任何更新。我在它上面运行mysqlcheck -r,修复了表,重新启动了奴隶,并且所有事情都恢复正常。

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