database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29805 게시물 읽기
No. 29805
.
작성자
변재언(jeaeon)
작성일
2010-10-01 10:41ⓒ
2016-07-12 21:15ⓜ
조회수
8,679

.

이 글에 대한 댓글이 총 2건 있습니다.

SHOW VARIABLES LIKE 'wait_timeout';

의 값을 확인해보세요. 기본 값은 28800(초) 입니다.

 

박현우(lqez)님이 2010-10-01 21:15에 작성한 댓글입니다.

구글링을 해보면 이 문제로 많은 사람들이 삽질을 이미 했다. 그리고 대다수가 버그라고 생각하고 있었다.

버그가 아니다. 당연한 삽질이었다.

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이 먹었다.
뭐.. 그런거다.. 설정 잘 돼있는거 가지구 착각하고, 삽질하지 말자.

-출처 : 서버구글 -

변재언(jeaeon)님이 2010-10-03 12:36에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29808테이블이 깨지는 것 방지하고싶은데요?
Joshua
2010-10-06
7332
29807explain 의 차이가 뭘까요? [1]
애매모호
2010-10-05
7005
29806mysql-5.1.50 의 shutdown...
김주홍
2010-10-03
6880
29805. [2]
변재언
2010-10-01
8679
29804이런건 쿼리를 어떻게 써야 될까요? [2]
mysql_love
2010-09-30
6996
29803auto increment 에 대한 질문입니다 [2]
강삼수
2010-09-29
7163
29802mysql 테이블 파티셔닝에 대해서 질문드립니다 [1]
김현민
2010-09-28
7297
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다