>  기사  >  백엔드 개발  >  PHP를 기반으로 MySQL 연결 끊김을 제거하는 방법

PHP를 기반으로 MySQL 연결 끊김을 제거하는 방법

墨辰丷
墨辰丷원래의
2018-06-01 16:29:191472검색

이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.