>  기사  >  데이터 베이스  >  mysql이 대량의 데이터를 가져올 때 MySQL 서버가 사라지는 문제에 대한 솔루션

mysql이 대량의 데이터를 가져올 때 MySQL 서버가 사라지는 문제에 대한 솔루션

jacklove
jacklove원래의
2018-06-08 23:20:362677검색

업무상 200M 정도의 SQL을 사용자 라이브러리로 가져와야 합니다

명령어

mysql> use user
Database changed
mysql> source /tmp/user.sql

실행 시 가져오기 과정에서 MySQL 서버가 사라졌습니다 오류가 발생하고 데이터 가져오기가 진행되지 않습니다. 실패한.

오류 메시지는 다음과 같습니다.

ERROR 2006 (HY000): MySQL server has gone awayERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    11Current database: userERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    12Current database: userERROR 2006 (HY000): MySQL server has gone awayERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    13Current database: user

처음에는 시간 초과로 인해 발생한 것으로 생각하여 connect_timeoutwait_timeout 값을 늘렸습니다.

재실행 후에도 문제가 남아있습니다.
해결책:

정보를 확인한 후 max_allowed_packet 매개변수를 찾았습니다.
공식적인 설명은 클라이언트에서 대용량 데이터를 전송할 때 시스템이 더 많은 확장자를 할당할 수 있도록 max_allowed_packet 매개변수를 적절하게 늘리는 것입니다. 처리할 메모리입니다.

mysql max_allowed_packet

mysql> show global variables like 'max_allowed_packet';
+--------------------+---------+| Variable_name      | Value   |
+--------------------+---------+| max_allowed_packet | 4194304 |
+--------------------+---------+

값을 확인해보면 4M인 것을 알 수 있고, 256M(1024*1024*256)

mysql> set global max_allowed_packet=268435456;
Query OK, 0 rows affected (0.00 sec)mysql> show global variables like 'max_allowed_packet';
+--------------------+-----------+| Variable_name      | Value     |
+--------------------+-----------+| max_allowed_packet | 268435456 |
+--------------------+-----------+1 row in set (0.00 sec)

으로 증가시킨다. 수정 후 import를 실행하면 모든 것이 정상이다. 문제가 해결되었습니다.
참고:
max_allowed_packet 값을 수정하려면 set global 명령을 사용하세요. mysql을 다시 시작한 후에는 유효하지 않으며 기본값으로 복원됩니다.

다시 시작한 후 복원하지 않으려면 my.cnf 파일을 열고 max_allowed_packet = 256M을 추가하면 됩니다.

이 기사에서는 mysql이 대량의 데이터를 가져올 때 MySQL 서버가 사라지는 문제에 대한 해결책을 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요.

관련 추천:

mysql 근처 Nkm 내의 데이터 인스턴스 검색

mysql 연결이 중단될 때 자동으로 다시 연결하는 방법

php HTML 엔터티 번호 및 비ASCII 문자열을 변환하는 클래스

위 내용은 mysql이 대량의 데이터를 가져올 때 MySQL 서버가 사라지는 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.