[mysql] Error Code: 2006 - MySQL server has gone away 에러 해결

Jay·2020년 4월 12일
0
post-custom-banner

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

profile
You're not a computer, you're a tiny stone in a beautiful mosaic
post-custom-banner

0개의 댓글