Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chấm dứt các kết nối mysql nhàn rỗi

Dọn dẹp thủ công:

Bạn có thể GIẾT người xử lý.

mysql> show full processlist;
+---------+------------+-------------------+------+---------+-------+-------+-----------------------+
| Id      | User       | Host              | db   | Command | Time  | State | Info                  |
+---------+------------+-------------------+------+---------+-------+-------+-----------------------+
| 1193777 | TestUser12 | 192.168.1.11:3775 | www  | Sleep   | 25946 |       | NULL                  |
+---------+------------+-------------------+------+---------+-------+-------+-----------------------+

mysql> kill 1193777;

Nhưng:

  • ứng dụng php có thể gặp lỗi (hoặc máy chủ web, hãy kiểm tra nhật ký lỗi)
  • không sửa chữa những gì không bị hỏng - nếu bạn không thiếu kết nối, hãy cứ để họ được.

Dịch vụ dọn dẹp tự động;)

Hoặc bạn định cấu hình máy chủ mysql của mình bằng cách đặt thời gian chờ ngắn hơn trên wait_timeout interactive_timeout

mysql> show variables like "%timeout%";
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| connect_timeout          | 5     |
| delayed_insert_timeout   | 300   |
| innodb_lock_wait_timeout | 50    |
| interactive_timeout      | 28800 |
| net_read_timeout         | 30    |
| net_write_timeout        | 60    |
| slave_net_timeout        | 3600  |
| table_lock_wait_timeout  | 50    |
| wait_timeout             | 28800 |
+--------------------------+-------+
9 rows in set (0.00 sec)

Đặt bằng:

set global wait_timeout=3;
set global interactive_timeout=3;

(và cũng được đặt trong tệp cấu hình của bạn, khi máy chủ của bạn khởi động lại)

Nhưng bạn đang điều trị các triệu chứng thay vì nguyên nhân cơ bản - tại sao các kết nối lại mở? Nếu tập lệnh PHP đã hoàn thành, chúng có nên đóng lại không? Đảm bảo rằng máy chủ web của bạn không sử dụng kết nối tổng hợp ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiệu suất MySQL:MyISAM so với InnoDB

  2. sử dụng dấu gạch ngang (-) trong tên bảng mysql

  3. Giá trị ràng buộc PDO cho câu lệnh MySQL IN

  4. JSON_SET () - Chèn hoặc cập nhật giá trị trong tài liệu JSON trong MySQL

  5. Tìm kiếm toàn văn bản trong MySQL:Tốt, xấu và xấu