MySQL Connections가 잠자기에는 얼마나 오래 걸립니까?


38

데이터베이스에 상태를 확인하기 위해 서버에 로그온 한 후 SHOW PROCESSLIST;매우 오래된 연결이 많이 있음을 알았습니다 .

여기에 이미지 설명을 입력하십시오 연결이 끊어지기까지 연결 시간 제한은 어느 정도입니까?

MySQL 5.0.51a-3ubuntu5.4에서 시간 제한을 어떻게 설정합니까?

노트 :

PHP 5.2.x 및 symfony framework 1.2를 사용하고 있습니다.


답변:


53

mysqld 두 가지 서버 옵션을 기반으로 데이터베이스 연결 시간이 초과됩니다.

둘 다 기본적으로 28,800 초 (8 시간)입니다.

이 옵션을 설정할 수 있습니다 /etc/my.cnf

연결이 지속되면 (을 통해 열린 경우 mysql_pconnect)이 숫자를 600 (10 분) 또는 60 (1 분)과 같은 합리적인 값으로 낮출 수 있습니다. 또는 앱이 제대로 작동하면 기본값을 그대로 둘 수 있습니다. 이것은 당신에게 달려 있습니다.

다음과 같이 설정해야합니다 my.cnf( mysqld다시 시작한 후에 적용됨).

[mysqld]
interactive_timeout=180
wait_timeout=180

mysql을 다시 시작하지 않으려면 다음 두 명령을 실행하십시오.

SET GLOBAL interactive_timeout = 180;
SET GLOBAL wait_timeout = 180;

이미 열려있는 연결은 닫히지 않습니다. 이로 인해 새로운 연결이 180 초 안에 닫힙니다.


그래서 /etc/my.cnf에서 나는 단지 넣을 것 wait_timeout=180입니까?
Patrick

@Patrick 네, 그러나 interactive_timeout과 wait_timeout을 모두 180으로 설정해야합니다. 응답에 대한 답변을 업데이트했습니다.
RolandoMySQLDBA

이 파일은 다른 곳에서 dev.mysql.com/doc/refman/5.1/en/option-files.html 이 될 수 있으며 이러한 옵션은 명시 적으로 표시되지 않을 수 있습니다 (직접 작성)
nicolallias 2016
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.