mysql wait_timeout 설정법
* Mysql에 3306 포트로 연결후 사용하다보면 트래픽이 적은경우(서비스 상용화전 테스트 중등.. )에 연결이 끊기는
경우가 있다.(CR_SERVER_GONE_ERROR 등등)
이는 Mysql이 연결된상태에서 일정시간 트래픽이 없으면 연결을 닫아버리기 때문이다(default 8시간)
MysqlPing 같은 함수로 주기적으로 연결상태를 확인하고 재연결시켜주는 함수가 지원되지만
믿을게 못된다. 다음과 같이 wait_timeout를 설정해보자
1. vi /etc/my.cnf 에서 [mysqld] 항목에 wait_timeout = 20000(원하는 시간(초)) 설정후 재실행
2. 제대로 적용됬는지 확인은 mysql로 들어가서 show GLOBAL variable; 에서 wait_timeout 추가
>vi /etc/my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
wait_timeout = 31536000 <== Max 1년...
>/etc/rc.d/init.d/mysqld start
>mysql -uroot -pxxxx mysql
mysql> show GLOBAL variable
| version_compile_os | redhat-linux-gnu |
| wait_timeout | 31536000 |
+---------------------------------+--------------------------------------------------+
자.. 이제부터는잘된다..
[출처] mysql wait_timeout 설정법|작성자 소방수