MySQL Server 연결 끊김 문제: 시간 초과 후 60초 후에 연결이 끊어졌습니다.
문제:
발견했습니다. 이전에는 정상적으로 실행되었던 SQL 쿼리가 이제 60초 후에 시간 초과되고 오류가 발생합니다. 쿼리가 느리더라도 야간 작업의 일부로 실행되므로 그 자체로는 문제가 되지 않습니다(따라서 최적화하라고 제안하지 마세요).
아래와 같이 PHP에서 "select SLEEP(120);"을 실행하면 오류를 지속적으로 재현할 수 있습니다. 그러나 MySQL 클라이언트에서 동일한 명령문을 실행하면 성공합니다(0을 반환함). 나는 wait_timeout(28800으로 설정)을 조정하려고 시도했지만 성공하지 못했습니다. 또한 데이터베이스 서버와 컴퓨터 자체도 다시 시작했습니다.
항상 정확히 60초의 시간 초과가 발생하는데, 이는 리소스 제약 문제라기보다는 설정 문제일지도 모른다는 생각이 듭니다.
실행 중:
다음은 SHOW VARIABLES의 테스트 코드, 출력 및 결과입니다.
... 代码、输出和 SHOW VARIABLES 如下所示 ...
답변:
php 옵션 mysql.connect_timeout이 이 문제의 원인입니다. 연결 시간 초과뿐만 아니라 서버의 첫 번째 응답을 기다리는 데에도 사용됩니다. 다음과 같이 늘릴 수 있습니다.
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
위 내용은 mysql.connect_timeout PHP 옵션으로 인해 60초 후에 MySQL 서버 연결 시간 초과가 발생합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!