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 Determine What Is Causing a Problem

B.3.1 如何确定问题的原因

当你遇到问题时,首先你应该做的是找到问题的原因是哪个程序或设备:

  • 如果你遇到以下症状,那么可能是硬件问题(例如内存、主板、CPU或硬盘)或内核问题:

    • 键盘不工作。这可以通过按下 Caps Lock 键来检查。如果 Caps Lock 灯不变,需要更换键盘。(在更换键盘前,应该尝试重新启动计算机并检查键盘到计算机的所有电缆。)

    • 鼠标指针不移动。

    • 机器不回应远程机器的 ping。

    • 其他与 MySQL 无关的程序不正确地工作。

    • 系统突然重新启动。(一个错误的用户级程序绝不能将系统关闭。)

    在这种情况下,你应该首先检查所有电缆,并使用一些诊断工具来检查硬件!你也应该检查操作系统是否有补丁、更新或服务包,可以解决问题。检查所有库(例如 glibc)是否是最新的。

    总是使用具有 ECC 内存的机器来尽早发现内存问题。

  • 如果键盘被锁定,你可能可以通过从另一个机器登录到你的机器并执行 kbd_mode -a 来恢复。

  • 请检查你的系统日志文件(例如 /var/log/messages)以了解问题的原因。如果你认为问题是 MySQL 的,你也应该检查 MySQL 的日志文件。见第7.4节,“MySQL 服务器日志”

  • 如果你不认为你有硬件问题,你应该尝试找到问题的原因。尝试使用 topps、任务管理器或类似程序来检查哪个程序占用了所有 CPU 或锁定了机器。

  • 使用 topdf 或类似程序来检查是否缺乏内存、磁盘空间、文件描述符或其他关键资源。

  • 如果问题是某个 runaway 进程,你可以尝试杀死它。如果它不想死,那可能是操作系统中的错误。

如果你已经检查了所有其他可能性并确定 MySQL 服务器或 MySQL 客户端是问题的原因,那么是时候创建一个错误报告了,见第1.6节,“如何报告错误或问题”。在错误报告中,尽量描述系统的行为和你认为发生的事情。也state为什么你认为 MySQL 是问题的原因。考虑所有本章中描述的情况。state任何问题的描述如何出现的。使用 copy and paste 方法来复制和粘贴来自程序和日志文件的输出和错误消息。

尝试详细描述哪个程序不工作和你看到的所有症状。我们过去收到过许多错误报告,其中只写了 系统不工作。” 这种报告对我们没有任何信息。

如果一个程序失败,总是有用知道以下信息:

  • 该程序是否出现了 segmentation fault(是否dumped core)?

  • 该程序是否占用了所有可用的CPU时间?请使用top检查。让程序运行一段时间,它可能只是计算密集型的内容。

  • 如果mysqld服务器出现问题,可以使用mysqladmin -u root pingmysqladmin -u root processlist与其交互吗?

  • 客户端程序在尝试连接到 MySQL 服务器时说了什么?(例如,使用mysql。)客户端是否卡住?是否从程序中获得任何输出?

在发送错误报告时,应该遵循第1.6节,“如何报告错误或问题”中的outline。