Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 max_allowed_packet 크기 변경하는 방법 완벽 가이드

max_allowed_packet은 MySQL에서 한 번에 전송할 수 있는 패킷의 최대 크기를 결정하는 중요한 설정값입니다. 이 변수는 세션 변수(session variable)이자 읽기 전용(read only) 변수로 분류됩니다.

현재 max_allowed_packet 값 확인하기

현재 설정된 max_allowed_packet 값을 확인하려면 show variables 명령어를 사용합니다. 명령어는 다음과 같습니다.

mysql> show variables like 'max_allowed_packet';

위 명령어를 실행하면 다음과 같은 결과가 출력됩니다.

+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.04 sec)

출력 결과를 보면 현재 값이 4194304(약 4MB)로 설정되어 있는 것을 확인할 수 있습니다.

my.ini 파일에서 값 변경하기

클라이언트 측에서 max_allowed_packet 값을 영구적으로 변경하려면 MySQL 설정 파일인 'my.ini' 파일을 수정해야 합니다. 파일에 다음과 같이 원하는 크기를 지정합니다.

max_allowed_packet = 4567890;

설정 파일을 수정한 후에는 변경 사항을 적용하기 위해 MySQL 서버를 재시작해야 합니다.

전역(Global) 변수로 값 변경하기

서버를 재시작하지 않고 즉시 전역적으로 값을 변경하고 싶다면 set global 구문을 사용할 수 있습니다. 쿼리는 다음과 같습니다.

mysql> set global max_allowed_packet=456789;
Query OK, 0 rows affected, 1 warning (0.00 sec)

쿼리가 성공적으로 실행되면 전역 설정이 변경됩니다. 단, 이 방식으로 변경한 값은 서버를 재시작하면 초기화되므로, 영구적인 변경을 원한다면 반드시 my.ini 파일도 함께 수정하는 것이 좋습니다.

정리

max_allowed_packet 크기 변경 절차를 요약하면 다음과 같습니다.

1. show variables like 'max_allowed_packet'; 명령어로 현재 값을 확인합니다.
2. 영구 변경을 원하면 my.ini 파일에 새 값을 추가합니다.
3. 임시 전역 변경은 set global max_allowed_packet=값;으로 수행합니다.
4. 서버를 재시작하면 my.ini에 설정된 값이 최종 적용됩니다.