Mysql
 sql >> база данни >  >> RDS >> Mysql

Прекратяване на неактивни mysql връзки

Ръчно почистване:

Можете да УБИЕТЕ процеса.

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;

Но:

  • php приложението може да докладва грешки (или уеб сървъра, проверете регистрационните файлове за грешки)
  • не поправяйте това, което не е повредено - ако не ви липсват връзки, просто ги оставете.

Услуга за автоматично почистване;)

Или конфигурирате своя mysql-сървър, като зададете по-кратко изчакване на 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)

Задайте с:

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

(и също така зададени във вашия конфигурационен файл, когато сървърът ви се рестартира)

Но вие лекувате симптомите вместо основната причина - защо връзките са отворени? Ако PHP скриптът приключи, не трябва ли да се затворят? Уверете се, че вашият уеб сървър не използва пул на връзки...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADDDATE() Примери – MySQL

  2. Единици за дата и час в MySQL (пълен списък)

  3. Миграции на живо с помощта на MySQL репликация

  4. Кое е най-доброто съпоставяне за MySQL с PHP?

  5. как да получите идентификатор за последно вмъкване след заявка за вмъкване в активен запис на codeigniter