일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파주골프장
- 휘닉스파크
- 제주도눈
- 서원힐스
- 포천가볼만한곳
- wp-900
- 포천투어
- 제주도
- 야생개복숭아
- 경기북부골프장
- LGG6
- 야생개복숭아 판매
- 개복숭아
- 개복숭아판매
- 태안수영장펜션
- 괌자유여행
- 조경철천문대
- 잠실수영장
- 자연산개복숭아
- 한라산
- 자연산 개복숭아
- 괌
- 충주골프장
- 돌복숭아
- 개복숭아 판매
- 포천온천
- 제주도눈썰매
- 덕소골프샵
- 포천수영장
- 제주도설경
- Today
- Total
Live Brilliant
wait_timeout 문제 본문
my.cnf의
[mysqld] section에
wait_timeout=300
으로 설정 추가하고 다시 띄운다.(기본값은 28800)
mysql로 접속하여
show variables like 'wait_timeout';
을 해본다.
어라? 28800이다.
왜 적용이 안되는 걸까..
show variables like '%timeout%';
을 해보면,
interactive_timeout이라는게 있는데,
이게 바로 커맨드라인 클라이언트인
mysql (보통 /usr/local/mysql/bin/mysql 또는 /usr/local/bin/mysql 등등)을 말하는 거다.
당연히 mysql 기본 클라이언트로 interactive mode접속하면
wait_timeout을 interactive_timeout값으로 바꿔주는거다.
왜냐구?
interactive mode로 접속했으니까 그렇지 ㅡ_ㅡ
show global variables like '%timeout%';
을 해본다.
wait_timeout=300
으로 설정이 잘 되어있다.
즉, interactive mode가 아닌 접속 쓰레드에 대해서 wait_timeout이 새로 설정한 값이 된다는거다.
당연히 mysql로 접속해서는 확인을 못한다.
본인이 작성하는 프로그램의 라이브러리를 이용하여 테스트 커넥션을 만들고
300초간 아무것도 하지 않은 후에 쿼리를 하나 날려보자
"SELECT 1" 과 같은..
에러가 난다.
2006, Mysql server has gone away.
설정한 wait_timeout이 먹었다.
'개발은 핵찜이야 > 리눅스' 카테고리의 다른 글
서버 접속자 파악 (0) | 2012.04.13 |
---|---|
crontab 명령어 (0) | 2012.04.13 |
서버.. MySql 로그 남기려면.. (0) | 2012.04.13 |
파일 용량 특정 위치 찾기 awk (0) | 2012.04.13 |
awk 명령어 사용방법 (0) | 2012.04.13 |