개발

mysql | Packets larger than max_allowed_packet are not allowed

AM0530 2021. 7. 2. 17:37

1. 이슈  : max_allowed_packet 값 초과 

  1) 실서버 db 데이터를 테스트 서버 db 로 import 했는데, 테스트 서버에서 일부 데이터만 표시됨 (jsp,xml 등 소스파일은 실서버와 테스트 서버 동일) 

  2) 제대로 표시되지 않는 db table만 따로 import 시도 

  3) sql 파일 import 시 Packets larger than max_allowed_packet are not allowed 에러 메세지 뜨면서 import 안됨


2. 문제 해결방법 :  테스트서버 mysql의 max_allowed_packet 값 변경

  1) 실서버와 테스트 서버의 max_allowed_packet 값 확인 

    - mysql workbench 에서 아래의 명령문 실행 

show variables where Variable_name = 'max_allowed_packet';

     - 결과 

2) 테스트 서버의 max_allowed_packet 값 변경 : mysql 로 직접 접속하여 수정 

- putty > 테스트 서버로 접속 > 아래 명령어 입력 > 비밀번호 입력

sudo mysql -u root -p

 

 

참고)  비밀번호까지 입력했을 때 

ERROR 1045 (28000) : Access denied for user 'root'@'localhost' (using password: YES) 가 뜨면 

root 비밀번호 설정이 안되어 있거나 (서버 구축한 직후에 이런 경우가 많다고 한다) 

root 비밀번호가 틀린 경우이다. 

 

- max_allowed_packet 값 변경

아래 명령어 입력 

set global max_allowed_packet = 1999872;

참고 : 패킷값은 최대 10GB까지 설정가능하다. 

최대로 설정해두어도 되지만 너무 크게 설정하면 메모리 문제가 생길수도 있다고 한다. 

 

- 변경한 max_allowed_packet 값 확인 : 

show variables;

그러면 알파벳 순으로 여러 설정값들이 나오는데 그중에서 

max_allowed_packet  값 확인하면 된다.