MySQL SELECT 查询挂起

MySQL SELECT 查询挂起

我的服务器上有 6 个 MySQL 数据库。它们都为 Wordpress 网站提供支持。出于某种原因,其中 2 个数据库无法访问。据我所知,它们使用 INNODB,但我无法确认它甚至做了以下事情:

mysql> use INFORMATION_SCHEMA;
mysql> SELECT * FROM TABLES;

挂在我身上。工作数据库似乎没问题(至少网站在线)。当我尝试访问坏数据库网站时,它只会继续旋转。

如果我这样做:

mysql> use rbb;
mysql> SELECT * FROM wp_posts;

它就会挂起。

我的服务器运行的是 CentOS 6.2,到目前为止没有遇到任何问题。

任何指点都将不胜感激。我不知道下一步该做什么。

即使打开 Sequel Pro 到服务器也会挂起应用程序。

如果我尝试查询,然后在另一个连接中检查进程列表,它会显示:

+----+------+-----------+-----+---------+------+----------------+------------------------+
| Id | User | Host      | db  | Command | Time | State          | Info                   |
+----+------+-----------+-----+---------+------+----------------+------------------------+
| 10 | root | localhost | rbb | Query   | 45   | Opening tables | SELECT * FROM wp_users |

答案1

根据mysql 文档,除非有锁阻碍,或者你的table_open_cache空间太小,否则不应该看到“打开表格”状态。

检查 mysql 的错误日志以了解发生了什么,检查show engine innodb status输出中的 innodb 信息。

答案2

也许互斥锁/锁发生了失控?

重启可能可以解决问题。否则,您可以检查是否有任何锁并手动释放它们。

尝试SHOW FULL PROCESSLIST;

相关内容