> 데이터 베이스 > MySQL 튜토리얼 > 대규모 SQL을 가져오는 동안 MySQL 서버의 연결이 끊어지는 이유는 무엇이며 어떻게 해결할 수 있습니까?

대규모 SQL을 가져오는 동안 MySQL 서버의 연결이 끊어지는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-09 14:51:13
원래의
203명이 탐색했습니다.

Why Does My MySQL Server Disconnect During Large SQL Imports, and How Can I Fix It?

대규모 SQL 가져오기 중 MySQL 서버 연결 끊김 해결

phpMyAdmin을 통해 대규모 SQL 파일을 가져올 때 "MySQL"이라는 실망스러운 오류 메시지가 나타날 수 있습니다. 서버가 나갔습니다." 이는 서버와 클라이언트 간의 예기치 않은 연결 끊김을 나타냅니다.

이 문제를 해결하려면 다음 해결 방법을 고려하십시오.

  1. Wait_Timeout 확인 및 조정:

MySQL 구성 파일(my.cnf)의 wait_timeout 변수가 충분한 시간으로 설정되어 있는지 확인하세요. 값. 이 변수는 서버가 클라이언트 연결을 닫기 전에 클라이언트 연결을 기다리는 최대 시간을 지정합니다. Debian에서 조정하려면 다음 명령을 사용하세요.

sudo nano /etc/mysql/my.cnf
로그인 후 복사
로그인 후 복사

변수를 더 높은 값(예: 600초)으로 설정하세요.

  1. Max_Allowed_Packet 늘리기:

max_allowed_packet 변수에 따라 최대값이 결정됩니다. 서버가 수신할 수 있는 단일 패킷의 크기입니다. SQL 파일이 이 제한을 초과하면 서버에서 연결이 끊어질 수 있습니다. 이 제한을 늘리려면 my.cnf 파일을 수정하세요.

sudo nano /etc/mysql/my.cnf
로그인 후 복사
로그인 후 복사

변수를 64MB와 같은 더 큰 값으로 설정하세요.

추가 참고:

MySQL 구성 파일에는 기본 주석이 포함되어 있지 않습니다. 따라서 수정 사항을 수동으로 추가하고 [mysqld]와 같은 적절한 옵션 그룹 아래에 배치해야 합니다.

예:

[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
로그인 후 복사

변경 사항이 적용되면 저장하고 MySQL 서버를 다시 시작하세요. 현재 값을 확인하려면 MySQL 클라이언트를 사용하십시오.

> select @@wait_timeout;
> select @@max_allowed_packet;
로그인 후 복사

위 내용은 대규모 SQL을 가져오는 동안 MySQL 서버의 연결이 끊어지는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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