Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

실행 중인 MySQL 쿼리를 어떻게 중지할 수 있습니까?

<시간/>

실행 중인 MySQL 쿼리를 중지하기 위해 프로세스 ID와 함께 KILL 명령을 사용할 수 있습니다. 구문은 다음과 같습니다 -

kill processId;

또는 아래 구문을 사용하여 실행 중인 MySQL 쿼리를 중지할 수 있습니다 -

call mysql.rds_kill(queryId);

먼저 show 명령을 사용하여 processId를 얻습니다. 쿼리는 다음과 같습니다 -

mysql> show processlist;

다음은 프로세스 목록이 포함된 출력입니다. -

+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
| Id |  User           | Host            | db       | Command | Time   | State                  | Info             |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
| 4  | event_scheduler | localhost       | NULL     | Daemon  | 221718 | Waiting on empty queue | NULL             |
| 47 | root            | localhost:60722 | business | Query   | 0      | starting               | show processlist |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
2 rows in set (0.03 sec)

여기서는 두 개의 프로세스가 MySQL에서 실행 중이며 그 중 하나를 중지하려면 "KILL"을 사용하여 특정 ID와 함께 위의 구문을 사용할 수 있습니다.

쿼리는 다음과 같습니다 -

mysql> kill 47;
ERROR 1317 (70100): Query execution was interrupted

또는 mysql.rds_kill(id)로 이를 수행할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> CALL mysql.rds_kill(47);
ERROR 2013 (HY000): Lost connection to MySQL server during query