
我的伺服器上有 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;