
私のサーバーには 6 つの MySQL データベースがあります。それらはすべて、Wordpress の Web サイトを動かしています。何らかの理由で、これらのデータベースのうち 2 つにアクセスできません。私の知る限り、それらは INNODB を使用していますが、次のことさえ実行していることは確認できません。
mysql> use INFORMATION_SCHEMA;
mysql> SELECT * FROM TABLES;
がハングアップします。動作中のデータベースは問題ないようです (少なくとも Web サイトはオンラインです)。問題のあるデータベース Web サイトにアクセスしようとすると、回転し続けます。
私が以下を実行すると:
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;