На моем сервере 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 |
В соответствии с документация mysql, состояние «открывающиеся столы» не должно быть видно, если на пути не мешают блокировки или когда ваш table_open_cache
очень маленький.
Проверьте журнал ошибок mysql, чтобы узнать, что произошло, проверьте show engine innodb status
вывод для информации innodb.
Может быть, мьютекс / блокировка сошла с ума?
Наверное перезагрузка исправит. В противном случае вы можете проверить наличие замков и разблокировать их вручную.
Попробуйте с SHOW FULL PROCESSLIST;