
На моем сервере есть 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;