2013년 1월 2일 수요일

MySQL Timeout 설정


MySQL에서의 timeout은 interactive_timeout과 wait_timeout 이렇게 두 가지가 존재한다.

interactive_timeout은 mysql> 과 같은 콘솔이나 터미널 모드(대화형 클라이언트)에서 mysqld와 client가 연결을 맺은 다음 요청을 기다리는 최대시간이다.
wait_timeout은 API를 이용한 client 프로그램(PHP, JDBC, ODBC...) 상에서 최대 연결시간을 말한다.
설정된 시간 동안 아무 요청이 없으면 연결은 취소되고 다시 요청이 들어오면 자동으로 연결이 맺어진다.
현재 설정된 값을 확인 하시려면 아래와 같은 명령으로 확인 가능하다.










1. Global 설정 확인
mysql> show global variables like ‘%timeout’;


2. Session 설정 확인
mysql> show variables like ‘%timeout’;




Time out 시간을 조절하시려면 아래와 같이 설정한다.










1. Global 설정
mysql> set global interactive_timeout=10;
mysql> set global wait_timeout=10;


2. Session 설정
mysql> set interactive_timeout=10;
mysql> set wait_timeout=10;




단, 위와 같은 방법은 MySQL 재시작 시 초기 값으로 돌아간다.
MySQL 시작 시 자동으로 설정할 경우 아래와 같이 my.cnf에 설정하면 된다.









[mysqld]
interactive_timeout=10
wait_timeout=10


댓글 없음:

댓글 쓰기