ホームページ  >  に質問  >  本文

MySQL Replication中master binLog文件切换导致的slave挂起

MYSQL 5.5.8. MySQL replication的slave挂了,显示Slave_IO_Running: no。用mysqlbinlog查看master对应的mysql-bin文件,发现slave 显示的Read_Master_Log_Pos的位置竟然不存在,该position大于该文件中的最大position。然后切换到该文件的最后一个position后重启slave成功恢复。是否是mysql-bin文件切换时的bug?如何再次避免这样的问题?

PHP中文网PHP中文网2743日前775

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-04-17 11:02:27

    MySQL在replication状态下是需要小心翼翼的操作的
    你遇到的问题可能是在从数据库没有停止同步的情况下, 主数据库执行了 FLUSH LOGS 命令

    有很多问题会导致热同步中断, 比如你当你联合查询的另外一个库, 在replication db上并不存在, 或者从数据库被写入数据, 导致主键冲突

    只有慢慢熟悉了MySQL的特性, 在权限上给自己一定的限制, 知道在代码里面哪些事情不应该做, 才能用活MySQL. 比如我现在用MySQL当NoSQL使用, 一个是稳定, 另外机器上也不用开太多其他服务.

    返事
    0
  • キャンセル返事