ERROR 2006 (HY000): MySQL server has gone away 에러가 발생한다면
mysql 작업중 아래와 같이 에러가 뜬다면 max_allowed_packet 메모리 부족입니다.
mysql> show master status;
ERROR 2006 (HY000): MySQL server has gone away
① 해당 서버의 권한을 가지고 있을 경우
# vi /etc/my.conf(my.ini 또는 mysql 설정파일. mysql이 깔려 있는 곳에 있습니다.) 에서 수정해서
아래의 부분을 추가 또는 변경해주고 mysql을 재시작 합니다.
max_allowed_packet = 500M
500M으로 입력 시 M(메가바이트)을 인식못하는 경우도 있다고 합니다.
이럴 경우엔 max_allowed_packet = 500000000이라고 적어 줍니다(기본단위는 byte 입니다.)
정상적으로 변경이 되었는지 확인해 봅니다.
mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
+--------------------+-----------+
| Variable_name | Value |
+--------------------+-----------+
| max_allowed_packet | 524288000 |
+--------------------+-----------+
1 row in set (0.00 sec)
② mysql의 해당 명령에 대한 권한을 가지고 있을 경우
mysql > SET GLOBAL max_allowed_packet = 1024*1024*256;
이렇게 설정하고 진행을 합니다.
다만 웹호스팅 사용자의 경우 해당 작업을 하는데 있어 권한이 없어 적용하지 못할 수 있습니다.
이런 경우는 웹호스팅사에 요청을 해도 설정에 관련된 부분은 수정 또는 변경을 안해 주기 때문에 방법이 없을 수 있습니다.