반응형
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번째 항목에 해당이 되어 에러가 뜨는 상황이었습니다.
이상입니다.
반응형
'Database > Mysql' 카테고리의 다른 글
[Mysql] MariaDB 테이블의 PRIMARY KEY 값 추가/삭제/변경 (2) | 2023.11.01 |
---|---|
[Mysql] 속도가 느린 DB 쿼리 ( 슬로우 쿼리 ) 찾기 (0) | 2022.06.20 |
[Mysql] mysql dump로 백업/복구 하기 (0) | 2020.11.10 |
[Mysql] UNION과 UNION ALL의 차이 (0) | 2020.08.28 |
[Mysql] log-bin 파일 관리 (0) | 2020.07.28 |