programing

유휴 mysql 연결을 종료하는 중

iphone6s 2023. 10. 9. 22:23
반응형

유휴 mysql 연결을 종료하는 중

많은 연결이 열려 있고 오랫동안 유휴 상태로 남아 있는 것으로 보입니다. 예를 들어 5분입니다.

mysql 서비스를 다시 시작하지 않고 서버에서 종료/닫을 수 있는 솔루션이 있습니까?

저는 레거시 PHP 시스템을 유지하고 있으며 쿼리를 실행하기 위해 설정된 연결을 닫을 수 없습니다.

기본값인 my.cnf 파일의 타임아웃 값을 8시간으로 줄여야 합니까?

# default 28800 seconds

interactive_timeout=60
wait_timeout=60

수동 정리:

프로세스 ID를 죽일 수 있습니다.

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-server를 구성합니다.

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 스크립트가 끝났으면 닫아야 하는 것 아닌가요?웹 서버가 연결 풀링을 사용하지 않는지 확인합니다...

연결 풀을 사용하여 관리하지 않는 한 문제가 없다고 봅니다.

연결 풀을 사용하는 경우 이러한 연결은 새 연결을 시작하는 대신 다시 사용됩니다.따라서 기본적으로 열린 연결을 유지한 후 다시 사용하는 것이 매번 다시 만드는 것보다 덜 문제가 됩니다.

언급URL : https://stackoverflow.com/questions/4284194/terminating-idle-mysql-connections

반응형