Trang chủ »Bài viết» MySQL »Tại đây Một chủ đề trong MySQL tương đương với một phiên trong cơ sở dữ liệu Oracle. Bài viết này mô tả cách tiêu diệt chủ đề (hoặc phiên) trong cơ sở dữ liệu MySQL.
Xác định các luồng (Danh sách xử lý)Giết chủ đề (giết) mysql> SHOW PROCESSLIST; +------+------------+-----------------------+-------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------+------------+-----------------------+-------+---------+------+-------+------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 1718 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | init | show processlist | +------+------------+-----------------------+-------+---------+------+-------+------------------+ 2 rows in set (0.02 sec) mysql> Cách đơn giản nhất để xác định các luồng là sử dụng lệnh Thông tin được trình bày bao gồm "ID", đó là mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql> Giết chủ đề (giết)Cách đơn giản nhất để xác định các luồng là sử dụng lệnh # Kill the entire connection. KILL thread_id; KILL CONNECTION thread_id; # Terminate the currently executing statement, but leave the connection intact. KILL QUERY thread_id; Thông tin được trình bày bao gồm "ID", đó là
mysql> SHOW PROCESSLIST; +------+------------+-----------------------+-------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------+------------+-----------------------+-------+---------+------+-------+------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 1718 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | init | show processlist | +------+------------+-----------------------+-------+---------+------+-------+------------------+ 2 rows in set (0.02 sec) mysql>
Để biết thêm thông tin, xem: Giết cú pháp 13.7.6.4 & NBSP; Tuyên bố tiêu diệt
Mỗi kết nối với MySQLD chạy trong một luồng riêng. Bạn có thể giết một chủ đề bằng tuyên bố mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>4.mysqld runs in a separate thread. You can kill a thread with the mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>4 statement. Các định danh danh sách xử lý luồng có thể được xác định từ cột mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>5 của bảng mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>6 mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>7, cột mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>8 của đầu ra mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>9 và cột # Kill the entire connection. KILL thread_id; KILL CONNECTION thread_id; # Terminate the currently executing statement, but leave the connection intact. KILL QUERY thread_id;0 của bảng Hiệu suất # Kill the entire connection. KILL thread_id; KILL CONNECTION thread_id; # Terminate the currently executing statement, but leave the connection intact. KILL QUERY thread_id;1. Giá trị cho luồng hiện tại được trả về bởi hàm # Kill the entire connection. KILL thread_id; KILL CONNECTION thread_id; # Terminate the currently executing statement, but leave the connection intact. KILL QUERY thread_id;2.
mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>1 cho phép sửa đổi # Kill the entire connection. KILL thread_id; KILL CONNECTION thread_id; # Terminate the currently executing statement, but leave the connection intact. KILL QUERY thread_id;4 hoặc # Kill the entire connection. KILL thread_id; KILL CONNECTION thread_id; # Terminate the currently executing statement, but leave the connection intact. KILL QUERY thread_id;5 tùy chọn:
Khả năng xem các chủ đề nào có sẵn để bị giết phụ thuộc vào đặc quyền mysql> SHOW PROCESSLIST; +------+------------+-----------------------+-------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------+------------+-----------------------+-------+---------+------+-------+------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 1718 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | init | show processlist | +------+------------+-----------------------+-------+---------+------+-------+------------------+ 2 rows in set (0.02 sec) mysql>0:
Khả năng tiêu diệt các luồng và tuyên bố phụ thuộc vào đặc quyền mysql> SHOW PROCESSLIST; +------+------------+-----------------------+-------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +------+------------+-----------------------+-------+---------+------+-------+------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 1718 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | init | show processlist | +------+------------+-----------------------+-------+---------+------+-------+------------------+ 2 rows in set (0.02 sec) mysql>3:
Bạn cũng có thể sử dụng Danh sách xử lý MySQLadmin và các lệnh giết MySQLadmin để kiểm tra và tiêu diệt các chủ đề.mysqladmin processlist and mysqladmin kill commands to examine and kill threads. Ghi chú Bạn không thể sử dụng mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>1 với thư viện máy chủ MySQL được nhúng vì máy chủ nhúng chỉ chạy bên trong các luồng của ứng dụng máy chủ. Nó không tạo ra bất kỳ luồng kết nối của riêng nó. Khi bạn sử dụng mysql> SELECT * FROM information_schema.processlist ORDER BY id; +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ | 7114 | user1 | 123.123.123.123:65032 | pma | Sleep | 2112 | | NULL | | 7120 | root | 123.123.123.123:52486 | mysql | Query | 0 | executing | SELECT * FROM information_schema.processlist ORDER BY id | +------+------------+-----------------------+-------+---------+------+-----------+----------------------------------------------------------+ 2 rows in set (0.01 sec) mysql>1, một cờ tiêu diệt cụ thể chủ đề được đặt cho luồng. Trong hầu hết các trường hợp, có thể mất một thời gian để chuỗi chết vì cờ giết chỉ được kiểm tra trong các khoảng thời gian cụ thể:
Cảnh báo Giết một hoạt động mysql> KILL CONNECTION 7114;8 hoặc mysql> KILL CONNECTION 7114;9 trên bảng mysql> SELECT * FROM information_schema.processlist WHERE id = 7114; Empty set (0.00 sec) mysql>0 dẫn đến một bảng bị hỏng và không sử dụng được. Bất kỳ lần đọc hoặc ghi vào bảng như vậy đều thất bại cho đến khi bạn tối ưu hóa hoặc sửa chữa lại (không bị gián đoạn). |