Table marked as crashed and should be repaired
我们经常会在 Windows 2003 服务器上运行的某些 mysql 表上遇到错误。
如何监控 mysql db 中的表是否“崩溃”?是否有文件需要监视(很容易实现)或者我必须在 db 上放置一些查询(会更复杂,因为监控工具需要 db 登录才能进行查询)或者是否有一些系统参数需要读取?如果表被触碰,则会有一个事件日志条目,但解析事件日志确实需要很长时间。
答案1
在 Linux 上,表崩溃的错误会发送到 mysql.log 日志文件。我们通过 nagios 监控它并从那里触发表的自动修复。
最大的问题是 mysql 并不总是记录崩溃的表。你只需运行查询,它们就会失败。我们想出的最佳方法是针对最常见的崩溃表运行一个简短的查询并采取相应的措施。