사무실에서 서버를 실행하여 일부 파일을 처리하고 결과를 원격 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_timeout
및 net_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