28.5.1 调试 MySQL 服务器

如果您使用的是 MySQL 中非常新的功能,则可以尝试使用--skip-new选项运行mysqld(这将禁用所有新的,可能不安全的功能)。参见第 B.4.3.3 节“如果 MySQLcontinue 崩溃该怎么办”

如果mysqld不想启动,请确认您没有my.cnf文件会干扰您的设置!您可以使用mysqld --print-defaults检查my.cnf参数,并从mysqld --no-defaults ...开始避免使用它们。

如果mysqld开始耗尽 CPU 或内存或“挂起”,则可以使用mysqladmin 进程列 table 状态来确定某人是否正在执行需要很长时间的查询。如果您遇到性能问题或新 Client 端无法连接的问题,最好在某个窗口中运行mysqladmin -i10 进程列 table 状态

命令mysqladmin debug将有关正在使用的锁,已用内存和查询用法的一些信息转储到 MySQL 日志文件中。这可能有助于解决一些问题。即使您尚未编译 MySQL 进行调试,此命令也提供了一些有用的信息!

如果问题是某些 table 变得越来越慢,则应尝试使用OPTIMIZE TABLEmyisamchk优化 table。参见第 5 章,MySQL 服务器 Management。您还应该使用EXPLAIN检查慢速查询。

您还应该阅读本手册中特定于 os 的部分,以解决您的环境可能特有的问题。参见第 2.1 节“常规安装指南”