mysqld
의 time out
설정은 크게 3가지connect_timeout
interactive_timeout
wait_timeout
Tip! 추가 내용
- mysqld 는 MySQL 서버
mysqld
와 mysql client
가 연결 ( connection ) 을 맺기 위해서 mysqld
가 연결 패킷을 기다리는 최대 시간connect_timeout
동안에도 연결 패킷이 들어오지 않으면 연결이 실패되고 bad handshake 로 응답Tip! 추가 내용
- 연결 실패
- 연결 과정중에서 fail 되는 경우
- aborted_connects
- 연결 취소
- 연결이 된 상태에서 강제로 close 된 경우
- aborted_clients
mysqld
와 mysql client
가 TCP 연결을 맺는 최대 시간으로 이 시간보다 큰 경우는 모두 aborted_connects 에 해당 ( 단위는 초 )aborted_connects * 100 / connections
mysqld
접근 password 가 틀린 경우 connect_timeout
보다 긴 연결 과정 5
( 초 ) 로 설정되어 있으며 따로 설정할 필요 없음mysqld
의 --warnings
옵션 사용과 xxx.err
파일에 기록됨mysql>
과 같은 프롬프트 있는 콘솔이나 터미널 모드를 말함mysqld
와 mysql client
가 연결을 맺은 후 다음 쿼리까지 기다리는 최대 시간을 의미interactive_timeout
까지도 아무런 요청 ( 쿼리 ) 이 없으면 연결은 취소되고 그 이후에 다시 요청이 들어오면 연결은 자동으로 맺어짐interactive_timeout
안에 다시 요청이 들어오면 wait time
은 0
으로 초기화됨28800
( 8시간 ) 으로 설정되어 있는데 상당히 관대한 설정3600
( 1시간 ) 정도로 설정하는 것을 권장mysqld
와 mysql client
가 연결을 맺은 후 다음 쿼리까지 기다리는 최대 시간을 의미interactive_timeout
과 마찬가지로 wait_timeout
까지 아무런 요청 ( 쿼리 ) 이 없으면 연결은 취소되고 그 결과는 aborted_clients
에 누계wait_timeout
안에 다시 요청이 들어오면 wait time
은 0
으로 초기화됨aborted_clients * 100 / connections
mysql_close()
가 없는 경우wait_timeout
이나 interactive_timeout
시간까지 아무런 요청 ( 쿼리 ) 이 없는 경우interactive_timeout
과 마찬가지로 28800
( 8시간 ) 으로 설정되어 있는데 역시 관대한 설정mysql_close()
없이 강제 종료 ( exit ) 되고 있다는 의미