我的 Ubuntu 服务器正在运行 MySQL,突然 MySQL 守护进程关闭了。尝试重新启动时,由于以下原因而失败:
xxx table is marked as crashed and last (automatic ) repair failed
因此我必须截断表,重新启动 MySQL,然后一切正常。我们有备份,因此我们能够恢复。
知道为什么会发生这种情况以及如何检查原因吗?
答案1
查看错误日志,通常会记录崩溃堆栈跟踪。可以使用以下命令找到位置:
$ mysql -e 'show variables like "log_error"'
+---------------+--------------------------+
| Variable_name | Value |
+---------------+--------------------------+
| log_error | /var/log/mysql/error.log |
+---------------+--------------------------+
原因可能是存储引擎中的错误或硬件故障。如果这种情况重复发生,您可以启用查询日志记录并尝试确定是否是某个查询导致了崩溃。
另外,检查您是否正在使用最新的稳定 mySQL 包。