Как найти список процессов MySQL и убить эти процессы?

Я сталкиваюсь с проблемой, что база данных MySql зависает из-за некоторых запросов.

Как я могу найти список процессов и идентификаторы процессов MySql и убить их ?

2 ответов


вот я иду с решением.

  1. войдите в БД.
  2. выполнить команду show full processlist;
  3. здесь вы получите идентификатор процесса со статусом и запросите его самостоятельно, что вызывает проблему зависания базы данных.
  4. Теперь выберите идентификатор процесса и выполнить команду KILL <pid>;
  5. теперь, когда вы убиваете этот процесс.

иногда этого недостаточно, чтобы убить каждый процесс вручную. Так что для этого нам придется прибегнуть к какому-то трюку. вот я и придумал этот трюк:--5-->

  1. войдите в MySql
  2. выполнить этот запрос Select concat('KILL ',id,';') from information_schema.processlist where user='user';
  3. это напечатает весь процесс с командой KILL.
  4. скопируйте все результаты запроса, манипулируйте ими и удалите pipe | подписать и вставить все снова в консоль запросов. НАЖМИТЕ ENTER. Бум это сделано.

в linux откройте терминал (ctrl + t) введите

systemctl status mysql

отобразится номер pid.

kill <pid>