이 글에서는 PHP에서 MySQL의 데드 연결을 삭제하는 방법을 주로 소개합니다. PHP 스크립트를 정기적으로 실행하여 MySQL 데드 링크를 확인하고 삭제하는 기능을 구현합니다. 필요한 친구는 주로 다음과 같이 나타나는
연결 상황을 참조할 수 있습니다. 연결이 너무 많아 대기 시간이 너무 길어서 사용 가능한 모든 연결을 차지하므로 다른 사용자가 더 이상 데이터베이스에 연결할 수 없습니다. MySQL 데이터베이스 매개변수 조정을 고려하기 시작했지만 많은 매개변수를 변경했지만 여전히 문제가 해결되지 않았습니다. 그래서 저는 PHP 스크립트를 작성하고 2분마다 실행하는 좀 더 무자비한 방법을 생각했습니다. 연결이 끊긴 경우(120초 이상) 이를 종료하면 일부 프로그램은 더 이상 데이터베이스 서버를 종료하지 않습니다. 다음은 연결 끊김에 대한 Kill Small 프로그램입니다:
kill-mysql-sleep-proc.php:
define('MAX_SLEEP_TIME',120); $hostname="localhost"; $username="root"; $password="password"; $connect=mysql_connect($hostname,$username,$password); $result=mysql_query("SHOWPROCESSLIST",$connect); while($proc=mysql_fetch_assoc($result)){ if($proc["Command"]=="Sleep"&&$proc["Time"]>MAX_SLEEP_TIME){ @mysql_query("KILL".$proc["Id"],$connect); } } mysql_close($connect); ?>
여기에 있는 $password를 실제 데이터베이스 비밀번호로 변경하고 연결 끊김 시간도 수정할 수 있습니다. 그런 다음 예약된 작업을 추가하기만 하면 됩니다. 예를 들어, crontab-e 명령을 사용하여 다음을 추가합니다:
*/2****php/usr/local/sbin/kill-mysql-sleep-proc.php
2분마다 데이터베이스에서 끊어진 연결을 확인하고 지울 수 있습니다
요약: 위는 이 기사의 전체 내용입니다. 모든 사람에게 도움이 되기를 바랍니다. 학습.
관련 권장 사항:
PHP의 CURL 메소드 컬_setopt() 함수 사례 세부 정보
위 내용은 PHP를 기반으로 MySQL 연결 끊김을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!