Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีหยุด Query ที่กำลังรันอยู่ใน MySQL


ก่อนหยุด Query ต้องดู Process list ก่อนด้วย SHOW PROCESSLIST:

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 |
+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+

หยุด Query ด้วย CALL mysql.rds_kill(process_id) (สำหรับ Amazon RDS) หรือ KILL process_id ใน MySQL มาตรฐาน:

mysql> CALL mysql.rds_kill(8);

จะเกิด ERROR 2013 (HY000): Lost connection to MySQL server during query เพราะการเชื่อมต่อถูกตัด

ตรวจสอบด้วย USE database_name จะเห็นข้อความ Trying to reconnect... และ Current database: *** NONE *** ยืนยันว่า Query หยุดแล้ว