Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách dừng một truy vấn MySQL đang chạy

Để dừng truy vấn đang chạy, cần biết Process ID (ID tiến trình) qua SHOW PROCESSLIST, sau đó dùng mysql.rds_kill (trên Amazon RDS) hoặc KILL (MySQL chuẩn).

Các bước

  1. Xem tiến trình đang chạy:
    mysql> SHOW PROCESSLIST;
    +----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
    | Id | User            | Host            | db       | Command | Time  | State                  | Info             |
    +----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
    | 4  | event_scheduler | localhost       | NULL     | Daemon  | 71034 | Waiting on empty queue | NULL             |
    | 8  | Manish          | localhost:53496 | business | Query   | 0     | starting               | show processlist |
    +----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
  2. Dùng ID = 8 để dừng (ví dụ trên RDS):
    mysql> CALL mysql.rds_kill(8);
  3. Kết quả: mất kết nối, MySQL tự kết nối lại:
    ERROR 2013 (HY000): Lost connection to MySQL server during query
    
    mysql> USE business;
    No connection. Trying to reconnect...
    Connection id: 10
    Current database: *** NONE ***
    Database changed

Lưu ý: Trên MySQL chuẩn (không phải RDS), dùng KILL 8; thay vì CALL mysql.rds_kill(8).