文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  如何报告复制错误或问题

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

如果您已经确定没有用户错误,并且复制仍然无法正常工作或不稳定,那么是时候向我们发送错误报告了。我们需要从您那里获取尽可能多的信息,以便能够追踪错误。请花一些时间和精力准备一份好的错误报告。

如果您有可重复的测试用例可以演示错误,请按照 第 1.6 节,“如何报告错误或问题” 中的说明将其输入我们的错误数据库。如果您遇到 幻影 问题(无法随意复制的问题),请使用以下步骤

  1. 验证没有用户错误。例如,如果您在复制线程之外更新副本,则数据会不同步,您可能会在更新时遇到唯一键冲突。在这种情况下,复制线程会停止并等待您手动清理表以使其同步。 这不是复制问题。这是外部干扰导致复制失败的问题。

  2. 确保副本在启用二进制日志记录(log_bin 系统变量)以及 --log-replica-updates 选项(这会使副本将从源接收的更新记录到自己的二进制日志中)的情况下运行。这些设置是默认设置。

  3. 在重置复制状态之前保存所有证据。如果我们没有信息或只有粗略的信息,那么我们很难或不可能追踪问题。您应该收集的证据包括

    • 来自源的所有二进制日志文件

    • 来自副本的所有二进制日志文件

    • 在您发现问题时,来自源的 SHOW BINARY LOG STATUS 的输出

    • 在您发现问题时,来自副本的 SHOW REPLICA STATUS 的输出

    • 来自源和副本的错误日志

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

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

收集完问题的证据后,请先尝试将其隔离为一个单独的测试用例。然后,使用 第 1.6 节,“如何报告错误或问题” 中的说明,将尽可能多的信息输入我们的错误数据库。