본문으로 바로가기
728x90
반응형

ERROR 2006 (HY000): MySQL server has gone away

MariaDB를 사용하다가 위의 에러가 간혹 뜨는걸 확인했습니다.

몇 십번을 테스트 해봤지만, 동작에는 문제가 없는걸 확인했습니다.

이 에러가 뜨는 원인을 구글링해본 결과, 총 3가지 정도로 좁혀집니다.

1. max_allowed_packet 설정

이 값은 클라이언트와 서버간의 전송 패킷 최대 크기입니다.

쿼리와 그에 대한 결과의 크기가 최대 패킷을 넘어버리게 되면 이 에러가 뜹니다.

이 값의 기본값은 16M입니다.

저의 경우 넉넉히 500M로 설정을 하였습니다.

2. timeout 설정

interactive_timeout이란 값이 있는데, 이 값은 클라이언트와 서버가 접속을 한 후, 다음 요청을 기다리는 최대 시간입니다.

클라이언트에서 MariaDB 서버에 접속을 한 후, 쿼리를 전송하여 결과를 보고, 잠깐동안은 아무 일도 하지 않을 경우가 많습니다.

interactive_timeout 값이 짧다보니, 에러가 발생하는 현상이 발생하였습니다.

3. 네트워크 문제

서버/클라이언트 간에 통신을 하는 과정에서 방화벽이 있거나, 네트워크 연결에 이슈가 생길경우 발생할 가능성이 있습니다.

즉, timeout이 발생하는겁니다.


저는 위의 3가지중 2번째 항목에 해당이 되어 에러가 뜨는 상황이었습니다.

이상입니다.

728x90
반응형