非常抱歉,对于这个问题我没有太多的信息。
我有一个只使用单个MySQL MySIAM引擎表的数据库,其中包含约80K条记录(持续增加),但今天突然停止响应。
我甚至无法执行任何一个查询语句(例如SELECT * FROM table LIMIT 1
),服务器花费时间执行,似乎永远不会停止。
我也无法将表转储以备份。
然而,同一数据库中使用相同引擎(MySIAM)的其他表都能正常工作。
我不确定下一步该怎么做。不确定是不是死锁或其他原因导致的问题。
该表中的所有数据都非常重要。如果您能帮助我确定问题的原因,我将不胜感激。例如,是否有命令可以检查表格是否损坏,以及原因等等。
更新:::::
我也无法使用CHECK TABLE
命令,它也需要很长时间才能执行完成。
更新:::::: 我进行了调查,并发现了关于REPAIR TABLE的一些信息。 但是,建议我首先备份。由于我无法为此表进行备份,因此是否可以使用REPAIR命令呢?
::::::::::::: 已解决 :::::::::::
按照Cristian的帮助,使用SHOW PROCESSLIST;
命令。我发现有一个状态为“Copying to tmp table”的进程阻塞了另一个进程。
因此,我使用KILL <process id>
来杀死该进程,然后一切恢复正常。
谢谢 Chanon
SHOW ENGINE INNODB STATUS
命令,看看它是否提供了有关死锁的更多信息? - JagmagSHOW ENGINE INNODB STATUS
命令后,没有任何挂起和队列。这样应该没问题吧? - Chanon