[MySQL] Packet for query is too large 에러 발생시Database/MySQL2022. 9. 12. 21:58
Table of Contents
반응형
MySQL을 사용하여 개발 중 4MB가 넘는 파일을 업로드 시 다음과 같은 패킷 에러가 발생하였다.
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (9,523,277 > 4,194,304). You can change this value on the server by setting the 'max_allowed_packet' variable
기본적으로 할당된 패킷 사이즈 값이 너무 작기 때문에 에러가 발생했기 때문에 수정이 필요하다. MySQL 설정에서 max_allowed_packet 값을 변경하여 해결하였다.
max_allowed_packet은 서버로 질의하거나 받게 되는 패킷의 최대 길이를 나타내는 시스템 변수
다음은 해결방법에 대해 알아보겠다.
MySQL 커맨드 라인에서 변경
먼저 MySQL 에 접속한다.
$ mysql -u root -p ****
mysql> show variables;
## 1024 * 1024 * 32 -> 32MB
mysql> SET GLOBAL max_allowed_packet = 33554432;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> show variables where Variable_name = 'max_allowed_packet';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| max_allowed_packet | 33554432 |
+--------------------+----------+
1 row in set (0.01 sec)
설정파일 변경
/etc/my.cnf 설정파일 내의 값을 변경한다.
$ vi /etc/my.cnf
# 없을 시 추가한다.
max_allowed_packet=32M
MySQL 재시작
다음 명령어를 사용여 MySQL를 재시작한다.
# 우분투
$ service mysql restart
# CentOS6
$ service mysqld restart
# CentOS7
$ systemctl restart mysqld
반응형
'Database > MySQL' 카테고리의 다른 글
[MySQL] 인덱스(INDEX) 정리 (0) | 2022.11.29 |
---|---|
[MySQL] 계정 관리 (0) | 2022.11.27 |
[MySQL] 접속 에러 해결 방법 (0) | 2022.11.27 |
[MariaDB] 계정 생성 및 권한 부여 (0) | 2022.11.13 |
[MySQL] Query 정리 (0) | 2022.09.04 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!