Массовая остановка запросов

в 11:54, , рубрики: mysql, метки:

В качестве небольшого дополнения к статье Чистка сервера базы данных.

Иногда, в очереди скапливается большое количество запросов к БД, выполнение которых необходимо остановить, не перезапуская MySQL.

Для решения этой проблемы мы используем такой метод:

Получаем список долго выполняемых запросов, в данном случае — SELECTы, выполняемые дольше 100 секунд

SELECT CONCAT('KILL ', id, ';') 
FROM information_schema.processlist 
WHERE 
`info` LIKE('SELECT%') 
AND `time` > 100 
INTO OUTFILE '/tmp/killList.sql'; 

Собственно, убиваем их:

SOURCE /tmp/killList.sql; 


По желанию, можно выбирать запросы по хосту, имени пользователя, базе данных, и т.д.

Автор: RomanKo

Поделиться

* - обязательные к заполнению поля