본문 바로가기

리눅스

MySQL max_allowed_packet 설정

반응형

MySQL max_allowed_packet 설정

MySQL의 max_allowed_packet 설정을 조정하여 대용량 데이터 처리 시 발생할 수 있는 오류를 방지하는 방법이며 이는 MySQL 서버가 처리할 수 있는 패킷 크기 제한을 늘리는 설정으로, 파일 삽입 문제 등을 해결하는 데 유용합니다.

런타임에서 max_allowed_packet 설정 변경

MySQL 콘솔에서 SET GLOBAL 명령을 사용하여 즉시 적용할 수 있습니다. 단, 이 설정은 서버 재시작 시 초기화됩니다.

 

MySQL에 root 사용자로 로그인

mysql -u root -p

현재 max_allowed_packet 값 확인

SHOW VARIABLES WHERE Variable_name = 'max_allowed_packet';

 +--------------------+---------+
 | Variable_name      | Value   |
 +--------------------+---------+
 | max_allowed_packet | 1048576 |  # 1MB
 +--------------------+---------+

max_allowed_packet 값을 2MB (2097152 bytes)로 설정

SET GLOBAL max_allowed_packet = 2097152;

권한 테이블 새로고침 (필요 시)

FLUSH PRIVILEGES;

설정 값 확인

SHOW VARIABLES WHERE Variable_name = 'max_allowed_packet';

 +--------------------+---------+
 | Variable_name      | Value   |
 +--------------------+---------+
 | max_allowed_packet | 2097152 |  # 2MB
 +--------------------+---------+

MySQL 설정 파일 수정(my.cnf)

영구적인 설정을 위해 MySQL 설정 파일(/etc/my.cnf 또는 /etc/mysql/my.cnf)을 수정합니다.

 

MySQL 설정 파일 편집

vi /etc/my.cnf

[mysqld] 섹션에 아래 설정 추가

[mysqld]
max_allowed_packet=2M

적용

sudo systemctl restart mysqld

설정 확인

mysql> SHOW VARIABLES WHERE Variable_name = 'max_allowed_packet';

 +--------------------+---------+
 | Variable_name      | Value   |
 +--------------------+---------+
 | max_allowed_packet | 2097152 |  # 2MB
 +--------------------+---------+

 

728x90
반응형