Как найти список процессов MySQL и убить эти процессы?
Я сталкиваюсь с проблемой, что база данных MySql зависает из-за некоторых запросов.
Как я могу найти список процессов и идентификаторы процессов MySql и убить их ?
2 ответов
вот я иду с решением.
- войдите в БД.
- выполнить команду
show full processlist;
- здесь вы получите идентификатор процесса со статусом и запросите его самостоятельно, что вызывает проблему зависания базы данных.
- Теперь выберите идентификатор процесса и выполнить команду
KILL <pid>;
- теперь, когда вы убиваете этот процесс.
иногда этого недостаточно, чтобы убить каждый процесс вручную. Так что для этого нам придется прибегнуть к какому-то трюку. вот я и придумал этот трюк:--5-->
- войдите в MySql
- выполнить этот запрос
Select concat('KILL ',id,';') from information_schema.processlist where user='user';
- это напечатает весь процесс с командой KILL.
- скопируйте все результаты запроса, манипулируйте ими и удалите pipe
|
подписать и вставить все снова в консоль запросов. НАЖМИТЕ ENTER. Бум это сделано.
в linux откройте терминал (ctrl + t) введите
systemctl status mysql
отобразится номер pid.
kill <pid>