Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để ngừng chạy truy vấn MySQL?

Trước khi dừng một truy vấn đang chạy của MySQL, trước tiên chúng ta cần xem có bao nhiêu quy trình đang chạy với sự trợ giúp của lệnh show.

Truy vấn cho điều đó được đưa ra như sau -

mysql> show processlist;

Sau khi thực hiện truy vấn trên, chúng tôi sẽ nhận được đầu ra với một số id. Điều này được đưa ra như sau -

+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
| 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 rows in set (0.00 sec)

Như đã thấy từ đầu ra ở trên, db hiện đang được sử dụng là "doanh nghiệp". và id của nó là 8. Để dừng truy vấn, lệnh gọi có thể được sử dụng với id đã cho có trong danh sách tiến trình. Cú pháp cho thatis như sau -

call mysql.rds_kill(valueOfGivenIdInProcesslist);

Bây giờ, cú pháp trên được áp dụng cho truy vấn và valueOfGivenIdInProcesslist được đặt là 8. Điều này được hiển thị bên dưới -

mysql> CALL mysql.rds_kill(8);

Sau khi thực hiện truy vấn trên, kết quả sau sẽ nhận được -

ERROR 2013 (HY000): Lost connection to MySQL server during query

Điều này xảy ra khi truy vấn trên ngừng chạy. Lệnh sử dụng được sử dụng để kiểm tra xem nó đã ngừng hoạt động hay chưa. Cú pháp của nó như sau -

use yourDatabaseName;

Cú pháp trên được áp dụng cho tên mydatabase ‘business’ trong hệ thống. Truy vấn là asfollows -

mysql> use business;

Sau khi thực hiện truy vấn trên, kết quả sau sẽ nhận được -

No connection. Trying to reconnect...
Connection id: 10
Current database: *** NONE ***



Database changed
mysql>

Vì vậy, rõ ràng là truy vấn đã dừng vì thông báo đang đến “Đang cố gắng ngắt kết nối…” trong MySQL. Và nó cũng cho thấy rằng cơ sở dữ liệu hiện tại là "không có". Sau một thời gian, kết nối với cơ sở dữ liệu được nối lại.