DBAtlas · 데이터베이스 운영 아틀라스

1153: Got a packet bigger than 'max_allowed_packet' bytes

MySQL

의미

클라이언트 또는 서버가 허용된 최대 패킷 크기(max_allowed_packet)보다 큰 데이터 패킷을 보내려 했다. 보통 큰 BLOB/TEXT 값이나 매우 큰 bulk INSERT에서 발생한다.

원인

매우 큰 BLOB/TEXT 데이터 삽입. 거대한 단일 INSERT 또는 다중 행 bulk INSERT. 큰 결과를 반환하는 쿼리. 작은 max_allowed_packet 값. mysqldump로 큰 행 가져오기.

해결 방법

max_allowed_packet을 늘리고(서버와 클라이언트 모두) 다시 접속한다: SET GLOBAL max_allowed_packet = 67108864; (64MB). 영구 적용하려면 my.cnf의 [mysqld] 아래에 max_allowed_packet = 64M을 추가한다. 큰 bulk 작업은 작은 배치로 분할한다. 매우 큰 값을 정말 저장해야 하는지 검토한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목