MySQL 从属设备未更新/同步

标签 mysql replication slave

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

我使用Change Master To更新了Master配置,指示了主服务器名称、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 本身),但似乎都没有任何影响。

最佳答案

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

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

关于MySQL 从属设备未更新/同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18004546/

相关文章:

mysql - 同一行 ID 后主主复制失败

database - 在 Cassandra 中使用 Hinted Handoff 有什么意义,特别是对于一致性 > ANY?

database - 同一数据库服务器上的 Oracle 物化 View 与复制

mysql - 显示从属主机;有一个空的主机输出。如何获取从属主机?

mysql - MySQL复制实际上如何工作? (关于线程)

php - 为什么我不应该在 PHP 中使用 mysql_* 函数?

sql - MySQL 中的两个单列索引与一个两列索引?

mysql - 增加mysql内存

java - @OneToOne 与 JPA 的关系