10

道歉,但我真的没有太多关于这个问题的信息。

我有一个 MySQL MySIAM 引擎表,其中包含大约 80K 条记录(不断增加)。今天突然没反应了。

我什至不能做一个查询(例如SELECT * FROM table LIMIT 1),服务器只是花时间执行,看起来永远不会停止。

我无法转储表进行备份。

但是,同一个数据库中的另一个表,同一个引擎(MySIAM)工作得很好。

我不知道从这里去哪里。不确定是死锁还是什么。

该表中的所有数据都非常重要。您指点帮助我确定问题的方向将不胜感激。例如,是否有任何命令来检查表是否因什么原因损坏等。


UPDATE::::: 我都不能使用CHECK TABLE,它也需要永远的执行时间。

更新 :::: 我做了研究并想出了一些关于修复表的东西。但是,建议我应该先进行备份。由于我无法为这张桌子做背面,所以无论如何都可以使用 REPAIR 命令吗?


::::::::::::: 解决了 :::::::::::

按照克里斯蒂安的帮助,使用SHOW PROCESSLIST;命令。我看到有一个状态为“复制到 tmp 表”的进程包含另一个进程。所以我用KILL <process id>杀死那个过程和一切释放正常。

干杯查农

4

1 回答 1

7

抱歉,我无法评论您的问题... :)

您运行的究竟是哪个版本的 MySQL,5.1.xx?

可以发一下你的SHOW PROCESSLIST;状态吗?

更新:Chanon,在此事件之后,为了防止出现此问题,您必须检查和优化发送 MySQL 处于“复制到 tmp 表”状态的查询,以避免速度缓慢和临时出现“磁盘已满”的风险分割。

于 2012-09-10T06:38:39.610 回答