[mysql] MySQL 오류 2006 : MySQL 서버가 사라졌습니다

사무실에서 서버를 실행하여 일부 파일을 처리하고 결과를 원격 MySQL 서버에보고합니다.

파일 처리에는 시간이 걸리고 프로세스는 다음 오류와 함께 반쯤 종료됩니다.

2006, MySQL server has gone away

MySQL 설정 wait_timeout 에 대해 들었지만 사무실 서버 또는 원격 MySQL 서버에서 변경해야합니까?



답변

연결 여부를 확인하고 필요한 경우 다시 설정하는 것이 더 쉬울 수 있습니다.

이에 대한 정보는 PHP : mysqli_ping 을 참조하십시오 .


답변

이 문제가 여러 번 발생했으며 일반적으로 답변의 기본 설정이 매우 낮다는 것을 알았습니다 max_allowed_packet.

/etc/my.cnf(아래 [mysqld])를 8 또는 16M으로 올리면 일반적으로 수정됩니다. (MySql 5.7의 기본값 4194304은 4MB입니다.)

[mysqld]
max_allowed_packet=16M

참고 : 행이 없으면 작성하십시오.

참고 : 서버가 실행될 때 서버에서 설정할 수 있습니다.

사용하십시오 set global max_allowed_packet=104857600. 100MB로 설정됩니다.


답변

저도 같은 문제가 있지만 changeing했다 max_allowed_packet에서 my.ini/my.cnf아래 파일을 [mysqld]트릭을했다.

라인을 추가

max_allowed_packet = 500M

이제 restart the MySQL service작업이 완료되면.


답변

MySQL 명령 줄에서 다음 명령을 사용하여 크기가 7GB 이상인 MySQL 데이터베이스를 복원했으며 작동합니다.

set global max_allowed_packet=268435456;


답변

오류 : 2006 ( CR_SERVER_GONE_ERROR )

메시지 : MySQL 서버가 사라졌습니다

일반적으로 연결을 재 시도한 후 쿼리를 다시 수행하여이 문제를 해결할 수 있습니다. 완전히 포기하기 전에 3-4 번 정도 시도하십시오.

PDO를 사용한다고 가정하겠습니다. 그렇다면 PDO 예외를 포착하고 카운터를 증가시킨 다음 카운터가 임계 값 미만인 경우 다시 시도하십시오.

시간 초과를 일으키는 쿼리가있는 경우 다음을 실행하여이 변수를 설정할 수 있습니다.

SET @@GLOBAL.wait_timeout=300;
SET @@LOCAL.wait_timeout=300;  -- OR current session only

여기서 300은 쿼리에 걸리는 최대 시간을 초 단위로 생각합니다.

MySQL 연결 문제를 처리하는 방법에 대한 추가 정보.

편집 : 또한 사용할 수있는 두 가지 다른 설정은 net_write_timeoutnet_read_timeout입니다.


답변

MAMP (비 전문가 버전)에 추가했습니다.

--max_allowed_packet=268435456

...\MAMP\bin\startMysql.sh

크레딧 및 자세한 내용은 여기


답변

이 오류는 wait_timeout 만료로 인해 발생합니다.

mysql 서버로 가서 wait_timeout을 확인하십시오.

mysql> ‘wait_timeout’과 같은 변수 표시

mysql> set global wait_timeout = 600 # 10 분 또는 최대 대기 시간 초과 필요

http://sggoyal.blogspot.in/2015/01/2006-mysql-server-has-gone-away.html