1. MySQL server has gone away 에러의 발생 원인으로
(1) mysql 사이트에 설명되어 있는 원인 으로는
1) 커넥션이 끊어진 이후에 쿼리를 전송했을 때
2) max_allowed_packet 을 초과하는 크기의 쿼리를 전송했을때
3) wait_timeout 을 초과하여 커넥션이 끊어진 경우
4) 잘못된 쿼리를 지속적으로 전송하여 서버가 차단된 경우
이로 인해서 DB 가 꼬이기 시작합니다.
특히 File DB쪽이 심하게 꼬이고.. 연관 Document 도 같이 꼬이기 시작합니다.
(2) XE 에서 상기 에러가 나타나는 경우는.. 대부분 초기 설치자는 문제가 없지만,
1) Zeroboard4 를 운영하다가 DB 이전시 대용량 파일이라던지,
2) 어떠한 특수경우의 게시물로 인하여 에러가 발생할 수도 있습니다.
3) 또는 호스팅 업체의 서버 자체의 셋팅이 너무 기본적이여서 그럴수도 있습니다.
2. 상기 에러의 해결방법으로...
(1) XE 소스 수정 (외부 서버호스팅을 이용하여 mysql 설정 변경 불가한 경우. XE 업데이트시마다 수정해줘야함)
1) 수정파일위치 : ./classes/db/DBMysql.class.php
2) 원본코드 : 80번째 줄 정도에서
$this->fd = @mysql_connect($this->hostname, $this->userid, $this->password); 부분을 찾아서
3) 수정코드 : $this->fd = @mysql_connect($this->hostname, $this->userid, $this->password, true);
(2) Mysql 설정을 직접 변경할 수 있는 분이라면 (XE소스 변경 안 해도 됨)
- 이 페이지를 참조해서 해결하면 됨 - http://blog.naver.com/icecom/80054230974