设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
PHP实现清除MySQL死连接的方法
返回列表
查看:
988
|
回复:
0
PHP实现清除MySQL死连接的方法
[复制链接]
阿情
当前离线
积分
7622
2560
主题
2560
帖子
7622
积分
论坛元老
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
积分
7622
发消息
电梯直达
楼主
发表于 2018-2-14 05:34:02
|
只看该作者
|
倒序浏览
|
阅读模式
本文实例讲述了PHP实现清除MySQL死连接的方法。分享给大家供大家参考,具体如下:
连接的情况,主要表现为有过多的Sleep连接,并且Time时间很长,占满了所有的可用连接数,以至于其它用户无法再连接数据库。我开始考虑调节MySQL数据库参数,但是改了许多参数仍然没有解决这个问题。于是想了一个比较狠的办法,写一个php脚本,每2分钟执行一次,发现死连接(超过120秒)就Kill掉,这样再也不会让某些程序搞死数据库服务器了,下面是 Kill死连接的小程序:
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相关内容感兴趣的读者可查看本站专题:《
php+mysqli数据库程序设计技巧总结
》、《
PHP基于pdo操作数据库技巧总结
》、《
PHP运算与运算符用法总结
》、《
PHP网络编程技巧总结
》、《
php面向对象程序设计入门教程
》、《
php字符串(string)用法总结
》、《
php+mysql数据库操作入门教程
》及《
php常见数据库操作技巧汇总
》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:
用PHP连接MySQL代码的参数说明
PHP远程连接MYSQL数据库非常慢的解决方法
php连接mysql数据库代码
PHP 设置MySQL连接字符集的方法
php 连接mysql连接被重置的解决方法
php与mysql建立连接并执行SQL语句的代码
PHP持久连接mysql_pconnect()函数使用介绍
php开启mysqli扩展之后如何连接数据库
测试PHP连接MYSQL成功与否的代码
PHP同时连接多个mysql数据库示例代码
php连接不上mysql但mysql命令行操作正常的解决方法
php基础之连接mysql数据库和查询数据
Php连接及读取和写入mysql数据库的常用代码
PHP连接和操作MySQL数据库基础教程
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端