✔️ MySQL 5.5에서 테스트하였습니다.
- ERROR 2006 (HY000): MySQL server has gone away
1 문제상황[ | ]
MySQL 덤프 파일을 임포트하는 중 오류 발생
Console
Copy
[root@newhost ~]# mysql mydb < db.sql -uroot -pP@ssw0rd
ERROR 2006 (HY000) at line 1916: MySQL server has gone away
2 원인[ | ]
Console
Copy
[root@newhost ~]# mysql -uroot -pP@ssw0rd -e "show variables like 'max_allowed_packet'"
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
- → max_allowed_packet 이 1MB (기본값)로 되어 있음
- → 쿼리문 하나가 1MB를 넘기 때문에 처리불가 오류난 것
- → 쿼리문 하나(db.sql의 한행)에 딸린 텍스트 내용이 매우 많은 경우임
3 해결방법1: CentOS 사례[ | ]
mysqld의 max_allowed_packet을 늘려주면 된다.
- /etc/my.cnf 파일 내용 중 [mysqld]의 하단에 아래 내용을 추가
properties
Copy
max_allowed_packet=4M
- mysqld 재시작
Console
Copy
[root@newhost ~]# service mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
Console
Copy
[root@newhost ~]# mysql -uroot -pP@ssw0rd -e "show variables like 'max_allowed_packet'"
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
- 임포트 재시도
Console
Copy
[root@newhost ~]# mysql mydb < db.sql -uroot -pP@ssw0rd
[root@newhost ~]#
- → 잘 수행되었다.
4 해결방법2: 시놀로지 DSM 사례[ | ]
/volume번호/@appstore/MariaDB10/usr/local/mariadb10/etc/mysql/my.cnf
설정파일 수정
properties
Copy
max_allowed_packet=4M
innodb_buffer_pool_size=4M
wait_timeout=3600
interactive_timeout=3600
- mysqld 재시작
Console
Copy
$ sudo synoservicectl --restart pkgctl-MariaDB10
5 같이 보기[ | ]
6 참고[ | ]
편집자 Jmnote Mywikier Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.