文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  InnoDB 存储引擎  /  InnoDB 故障排除

17.20 InnoDB 故障排除

以下一般准则适用于排除 InnoDB 问题

  • 当操作失败或您怀疑有错误时,请查看 MySQL 服务器错误日志(参见 第 7.4.2 节,“错误日志”)。服务器错误信息参考 提供了一些常见 InnoDB 特定错误的故障排除信息,您可能会遇到这些错误。

  • 如果失败与 死锁 相关,请在启用 innodb_print_all_deadlocks 选项的情况下运行,以便将有关每个死锁的详细信息打印到 MySQL 服务器错误日志。有关死锁的信息,请参见 第 17.7.5 节,“InnoDB 中的死锁”.

  • 如果问题与 InnoDB 数据字典相关,请参见 第 17.20.4 节,“排除 InnoDB 数据字典操作”.

  • 在故障排除时,通常最好从命令提示符运行 MySQL 服务器,而不是通过 mysqld_safe 或作为 Windows 服务。然后,您可以看到 mysqld 打印到控制台的内容,从而更好地了解发生了什么。在 Windows 上,使用 --console 选项启动 mysqld,以将输出定向到控制台窗口。

  • 启用 InnoDB 监控器以获取有关问题的详细信息(参见 第 17.17 节,“InnoDB 监控器”)。如果问题与性能相关,或者您的服务器似乎挂起了,您应该启用标准监控器以打印有关 InnoDB 内部状态的信息。如果问题与锁相关,请启用锁监控器。如果问题与表创建、表空间或数据字典操作相关,请参考 InnoDB 信息模式系统表 检查 InnoDB 内部数据字典的内容。

    InnoDB 在以下情况下会暂时启用标准 InnoDB 监控器输出

    • 长时间的信号量等待

    • InnoDB 无法在缓冲池中找到空闲块

    • 超过 67% 的缓冲池被锁堆或自适应哈希索引占用

  • 如果您怀疑表已损坏,请对该表运行 CHECK TABLE