Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  How to Report Replication Bugs or Problems

19.5.5 如何报告复制错误或问题

当你确定没有用户错误参与,并且复制仍然不能工作或不稳定时,是时候向我们发送错误报告了。我们需要从你那里获取尽可能多的信息,以便追踪错误。请花一些时间和努力来准备一个好的错误报告。

如果你有一个可重复的测试用例来演示错误,请使用第1.6节,“如何报告错误或问题”中的指令来将其输入我们的错误数据库。如果你有一个phantom问题(一个你不能重复的错误),请使用以下过程:

  1. 验证没有用户错误参与。例如,如果你在复制线程外更新副本,数据将失去同步,你可能会在更新时出现唯一键违规。这种情况下,复制线程将停止,等待你手动清理表以将其同步。 这不是复制问题。这是外部干扰导致复制失败的结果。

  2. 确保副本使用二进制日志功能(log_bin系统变量),并启用--log-replica-updates选项,这样副本将将从源接收到的更新记录到自己的二进制日志中。这些设置是默认的。

  3. 在重置复制状态之前,保存所有证据。如果我们没有信息或只有模糊信息,追踪问题将变得困难或不可能。您应该收集的证据是:

  4. 使用mysqlbinlog来检查二进制日志。以下内容将有助于找到问题声明。log_filelog_posSHOW REPLICA STATUS中的Master_Log_FileRead_Master_Log_Pos值。

    $> mysqlbinlog --start-position=log_pos log_file | head

在收集问题证据后,尝试将其孤立为一个单独的测试用例,然后使用第1.6节,“如何报告错误或问题”中的指令将其输入我们的错误数据库。