Как отменить запрос в MySQL
Иногда, работая в phpmyadmin (да и не только) с базами данных MySQL, можно написать (в силу разных причин) некорректный select выполнение которого может затянуться на неопределнный срок. Чтобы остановить выполнение такого запроса я делаю следующее.
Подключаюсь к серверу MySQL из командной строки:
mysql -u sqluser -p
Затем выполняю команду show processlist:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | mysql> show processlist; +--------+----------+-------------------+----------+---------+------+--------------+------------------------------------------------------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +--------+----------+-------------------+----------+---------+------+--------------+------------------------------------------------------------------------------------------------------+ | 1 | server | 10.4.158.30:55839 | main | Sleep | 3 | | NULL | | 19 | server | 10.4.158.30:56410 | main | Sleep | 171 | | NULL | | 43 | server | 10.4.158.30:57248 | main | Sleep | 14 | | NULL | | 580 | server | 10.4.158.30:64549 | main | Sleep | 55 | | NULL | | 113359 | server | 10.4.158.30:62121 | main | Sleep | 55 | | NULL | | 182369 | server | 10.4.158.30:56220 | main | Sleep | 55 | | NULL | | 188971 | server | 10.4.158.30:52060 | main | Sleep | 87 | | NULL | | 189274 | sqluser| 10.4.158.10:46480 | userdb | Query | 630 | Sending data | SELECT SQL_CALC_FOUND_ROWS t1.phone_mobile, t1.device_id, t2.phone_mobile as 'reg_pin.PhoneMobile' | | 189325 | sqluser| localhost | NULL | Query | 0 | NULL | show processlist | +--------+----------+-------------------+----------+---------+------+--------------+------------------------------------------------------------------------------------------------------+ |
Нахожу Id процесса и удаляю его командой kill
1 2 | mysql> kill 189274; Query OK, 0 rows affected (0.00 sec) |
Проверяю:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mysql> show processlist; +--------+----------+-------------------+----------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +--------+----------+-------------------+----------+---------+------+-------+------------------+ | 1 | server | 10.4.158.30:55839 | main | Sleep | 0 | | NULL | | 7 | server | 10.4.158.30:55920 | main | Sleep | 0 | | NULL | | 19 | server | 10.4.158.30:56410 | main | Sleep | 44 | | NULL | | 43 | server | 10.4.158.30:57248 | main | Sleep | 13 | | NULL | | 580 | server | 10.4.158.30:64549 | main | Sleep | 13 | | NULL | | 113359 | server | 10.4.158.30:62121 | main | Sleep | 129 | | NULL | | 182369 | server | 10.4.158.30:56220 | main | Sleep | 129 | | NULL | | 188971 | server | 10.4.158.30:52060 | main | Sleep | 161 | | NULL | | 189325 | sqluser| localhost | NULL | Query | 0 | NULL | show processlist | +--------+----------+-------------------+----------+---------+------+-------+------------------+ 9 rows in set (0.00 sec) |
Запрос удален.
Подробнее о команде kill на официальном сайте: http://dev.mysql.com/doc/refman/5.5/en/kill.html
Оставьте свой отзыв