Error Code: 2006 - MySQL server has gone away
작업을 하던 중에 가끔 저런 오류가 발생한다.
2006오류가 발생하는 이유는 여러가지가 있는데,
1. 서버 연결이 끊어졌거나 실행중에 서버가 죽었을 때 등 서버와의 연결에 문제가 생겼을 때
2. 부적절하거나 너무 큰 쿼리를 보냈을 때. 이 경우 데이터베이스는 뭔가가 잘못됐다고 판단하고 연결을 끊는다.
2번의 경우 서버의 max_allowed_packet을 재설정 함으로써 쿼리 제한을 증가시켜야 한다. 기본값은 4mb다. 기본 용량보다 더 큰 패킷을 받으면 위 오류가 발생하는 것이다. 패킷이란 mysql서버에 보내는 sql문의 단위다. MySQL 5.7 서버의 최대 패킷 용량은 1gb다.
최대 허용 패킷 설정 변경하는 방법 :
max_allowed_packet = 16M
위 명령어를 실행하면 최대 허용 용량이 16MB로 바뀐다.
참고
https://dev.mysql.com/doc/refman/5.7/en/gone-away.html
https://dev.mysql.com/doc/refman/5.7/en/packet-too-large.html