B.4.1 如何确定引起问题的原因

当您遇到问题时,您应该做的第一件事就是找出导致该问题的程序或设备:

  • 如果您有以下症状之一,则可能是硬件问题(例如内存,主板,CPU 或硬盘)或内核问题:

  • 键盘不起作用。通常可以通过按 Caps Lock 键来检查。如果 Caps Lock 指示灯没有改变,则必须更换键盘。 (在执行此操作之前,您应该尝试重新启动计算机并检查连接到键盘的所有电缆.)

    • 鼠标指针不移动。

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

    • 与 MySQL 不相关的其他程序无法正常运行。

    • 您的系统意外重启。 (错误的用户级程序永远都不能关闭系统.)

在这种情况下,您应该首先检查所有电缆并运行一些诊断工具来检查硬件!您还应该检查 os 是否有任何补丁程序,更新或 Service Pack,这些补丁程序,更新或 Service Pack 可能会解决您的问题。还要检查您的所有库(例如glibc)是否都是最新的。

最好使用带有 ECC 内存的计算机尽早发现内存问题。

  • 如果键盘已锁定,则可以通过从另一台计算机登录到您的计算机并执行kbd_mode -a来恢复。

  • 请为您的问题原因检查系统日志文件(/var/log/messages或类似文件)。如果您认为问题出在 MySQL,则还应检查 MySQL 的日志文件。参见第 5.4 节“ MySQL 服务器日志”

  • 如果您认为自己没有硬件问题,则应尝试找出导致问题的程序。尝试使用 topps ,任务 Management 器或某些类似程序,以检查哪个程序占用了所有 CPU 或正在锁定计算机。

  • 使用 topdf 或类似程序检查内存,磁盘空间,文件 Descriptors 或其他一些关键资源是否不足。

  • 如果问题是一些失控的过程,则可以随时尝试将其杀死。如果不想死,则 os 中可能存在错误。

如果您已经检查了所有其他可能性,并得出结论是 MySQL 服务器或 MySQLClient 端导致了问题,那么现在该创建错误报告了,请参阅第 1.7 节“如何报告错误或问题”。在错误报告中,尝试完整描述系统的行为方式以及您的想法。还要说明您为什么认为 MySQL 引起了问题。请考虑本章中描述的所有情况。准确说明检查系统时出现的所有问题。对程序和日志文件中的所有输出和错误消息使用“复制和粘贴”方法。

尝试详细描述哪个程序不起作用以及您看到的所有症状。过去,我们收到了许多错误报告,其中仅指出“系统无法正常工作”。这给我们提供了有关可能是什么问题的任何信息。

如果程序失败,那么了解以下信息总是有用的:

  • 有问题的程序是否发生了分段错误(它是否转储了内核)?

  • 程序是否占用了所有可用的 CPU 时间?检查 top 。让程序运行一会儿,它可能只是在评估一些计算量大的东西。

  • 如果mysqld服务器引起问题,您可以使用mysqladmin -u 根 pingmysqladmin -u 根进程列 table对其进行任何响应吗?

  • 当您尝试连接到 MySQL 服务器时,Client 端程序怎么说? (例如,尝试使用mysql。)Client 端卡住了吗?您从程序中得到任何输出吗?

发送错误报告时,应遵循第 1.7 节“如何报告错误或问题”中所述的概述。