Я столкнулся с проблемой, что база MySql зависает из-за некоторых запросов.
Как я могу найти список процессов и обработать идентификаторы MySql и убить их?
Я столкнулся с проблемой, что база MySql зависает из-за некоторых запросов.
Как я могу найти список процессов и обработать идентификаторы MySql и убить их?
Здесь я иду с решением.
show full processlist;
KILL <pid>;
Когда-нибудь этого недостаточно, чтобы убить каждый процесс вручную. Итак, для этого мы должны пойти с каким-то трюком. здесь я иду с этим трюком:
Select concat('KILL ',id,';') from information_schema.processlist where user='user';
|
снова вставьте и снова вставьте в консоль запросов. HIT ENTER. BooM это сделано. Вы можете сделать что-то вроде этого, чтобы проверить, запущен ли какой-либо процесс mysql
:
ps aux | grep mysqld
ps aux | grep mysql
Затем, если он работает, вы можете killall
с помощью (в зависимости от того, что все процессы выполняются в настоящее время):
killall -9 mysql
killall -9 mysqld
killall -9 mysqld_safe
select GROUP_CONCAT(stat SEPARATOR ' ') from (select concat('KILL ',id,';') as stat from information_schema.processlist) as stats;
Затем скопируйте и вставьте результат обратно в терминал. Что-то вроде:
KILL 2871; KILL 2879; KILL 2874; KILL 2872; KILL 2866;
На Linux откройте терминал (Ctrl + T) введите
sudo systemctl status mysql.service
отобразится номер pid.
kill <pid>
Это очень хорошо работает для меня, я не знаю, есть ли у вас другая версия Ubuntu OS.