gpt4 book ai didi

PHP实现清除MySQL死连接的方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP实现清除MySQL死连接的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了PHP实现清除MySQL死连接的方法。分享给大家供大家参考,具体如下:

连接的情况,主要表现为有过多的Sleep连接,并且Time时间很长,占满了所有的可用连接数,以至于其它用户无法再连接数据库。我开始考虑调节MySQL数据库参数,但是改了许多参数仍然没有解决这个问题。于是想了一个比较狠的办法,写一个php脚本,每2分钟执行一次,发现死连接(超过120秒)就Kill掉,这样再也不会让某些程序搞死数据库服务器了,下面是 Kill死连接的小程序:

kill-mysql-sleep-proc.php:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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命令加入:

?
1
* /2 ****php /usr/local/sbin/kill-mysql-sleep-proc .php

就可以每隔2分钟检查并清除一次数据库中的死连接了 。

希望本文所述对大家PHP程序设计有所帮助.

最后此篇关于PHP实现清除MySQL死连接的方法的文章就讲到这里了,如果你想了解更多关于PHP实现清除MySQL死连接的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com