MYSQL 5.6.10 ANALYZE TABLE - проблема с блокировкой - PullRequest
0 голосов
/ 17 сентября 2018

Я выполнил команду анализа таблицы в производственной базе данных mysql, не зная, что это помешает мне выбрать содержимое таблицы.Это привело к отключению рабочего сайта :( Сколько времени может занять снятие блокировки? Кроме того, воссоздание БД из резервной копии решит проблему / избавится от блокировок?

Пожалуйста, дайте мне знать.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

ANALYZE TABLE ожидает получения блокировки метаданных. Пока он ожидает, любой SQL-запрос к таблице ожидает ANALYZE TABLE.

ANALYZE TABLE обычно довольно быстрый, то есть 1-3 секунды. Но эта быстрая операция не запускает , пока не получит блокировку метаданных.

Он не может получить блокировку метаданных, если у вас есть долгосрочные транзакции, идущие против таблицы. Поэтому, если вы хотите, чтобы это работало быстрее, завершите транзакции.

См. Мой ответ на MySQL не может ALTER TABLE, который активно записывается в для получения дополнительной информации.

0 голосов
/ 17 сентября 2018

ANALYZE TABLE довольно ясно говорит: «Во время анализа таблица заблокирована блокировкой чтения для InnoDB и MyISAM».

Вы можете KILL {connection number} в SQL, чтобы остановить команду.

Примечание: вам, вероятно, следует обновить систему до более новой версии MySQL-5.6.

...