대량 작업 중에 \'일반 오류: 2006 MySQL 서버가 사라졌습니다\'를 수정하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-30 22:20:30
원래의
124명이 탐색했습니다.

How to Fix the

"일반 오류: 2006 MySQL 서버가 사라졌습니다" 문제 해결

MySQL 데이터베이스에 수백 개의 레코드를 삽입하는 등의 대량 작업을 수행할 때 다음이 발생할 수 있습니다. 다음 오류가 발생합니다.

[PDOException] SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
로그인 후 복사

이 오류는 일반적으로 일정 기간 동안 활동이 없으면 MySQL 서버가 연결을 끊는 시간 초과 문제로 인해 발생합니다. 이 문제를 해결하려면 다음 두 가지 기본 설정을 조정하는 데 집중하세요.

1. wait_timeout

wait_timeout 설정은 MySQL이 비활성 연결을 종료하기 전에 기다리는 기간(초)을 결정합니다. 기본적으로 이 값은 공유 호스팅 환경에서 상대적으로 낮은 30초로 설정됩니다.

wait_timeout을 늘리려면 작업 시작 시 다음 쿼리를 실행하세요.

SET session wait_timeout=28800;
로그인 후 복사

이것은 명령은 wait_timeout을 28800초(약 8시간)로 설정합니다.

2. Interactive_timeout(선택 사항)

어떤 경우에는 Interactive_timeout 설정을 조정해야 할 수도 있습니다. 이 설정은 MySQL이 대화형 연결을 종료하기 전의 시간(초)을 지정합니다.

interactive_timeout을 수정하려면 wait_timeout을 조정한 후 다음 쿼리를 실행합니다.

SET session interactive_timeout=28800;
로그인 후 복사

확인

확인하려면 설정이 성공적으로 수정되었으면 변경 전후에 다음 쿼리를 실행할 수 있습니다.

<code class="php">$results = $db->query("SHOW VARIABLES LIKE '%timeout%'", TRUE);</code>
로그인 후 복사

주의

시간 초과 설정을 늘리면 즉각적인 문제를 해결할 수 있지만, 다음 사항을 고려하십시오.

  • wait_timeout을 매우 높은 값(예: 8시간)으로 설정하면 유휴 연결에 대한 대기 시간이 과도해질 수 있습니다.
  • 일반적으로 wait_timeout을 1시간 이내로 유지하는 것이 좋습니다. 300초와 같은 합리적인 범위입니다.

위 내용은 대량 작업 중에 \'일반 오류: 2006 MySQL 서버가 사라졌습니다\'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!