본문
웹형식으로 작업할때 mysql_connect 식별자를 부여받아 커넥트가 끈겨도 페이지 이동하면 재 커넥트를 요청해 사용하면 되었지만 stand alon 형식의 프로그램 작성시 내부 프로그램 처리 시동안 디비 요청이 이뤄지지 않을시 connect 식별자를 잃어버리게 되어 오류가 나타날수있습니다. 식별자를 잃어버린후 첫 디비요청은 실패로 처리되면 그 터치로 인해 다시 식별자를 부여받게 됩니다.
에러 메시지
2013:Lost connection to MySQL server during query
[ 방법1 ]
이건 MySql 버그, 그것을 4.1.17 , 5.0.19 , 5.1.6에서 해결되었습니다.
MySql 4.1.22 버전으로 다시 컴파일후 기존 데이타를 이전합니다.
[ 방법2 ]
해당 커넥션의 wait_timeout 의 시간을 늘려주는 방법으로 해결할수있습니다.
# vi /etc/my.cnf
...
[mysqld]
...
set wait_timeout = 60 # 60 (기본값) → 0 (무한대, 주의해서 설정)
[ 방법3 ]
# vi /etc/hosts.allow 에 아래 문장 추가
mysqld : All : allow
또는
mysqld : 127.0.0.1
[ 방법4 ]
# vi /etc/my.cnf 파일에 skip-name-resolve 추가
...
[mysqld]
...
default-character-set=euc_kr
skip-name-resolve #<-- 추가
참고자료
http://expand82.tistory.com/entry/mysql-connect-를-잃어버리는-현상-2013-error
http://bugs.mysql.com/bug.php?id=15598
http://jerrywalsh.org/solving-mysql-error-2013-hy000-45.html
http://forums.devshed.com/mysql-help-4/error-2013-hy000-lost-connection-to-mysql-server-during-294128.html
http://blog.naver.com/etwas0227?Redirect=Log&logNo=60022449035
관련링크
댓글목록
등록된 댓글이 없습니다.