php后端mysql,【后端开发】PHP如何处理MySQL死连接

本文主要介绍了PHP实现清除MySQL死连接的方法,通过定时执行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如何生成mysql数据字典

PHP如何解决MySQL存储数据中文乱码

关于MySql超长自动截断实例详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5.14 js对象 函数 js操作document对象

---对象 var myObject {} /* 声明对象字面变量*/myObject点语法取值 赋值代码格式 var person { name : "zhangsan", age : 25, say :function(){ alert("说汉语"); } } 函数:有一定功能代码体的集合; 函数是由事件…

linux虚拟服务器新增磁盘怎么挂载,如何在vmware虚拟机Linux中增加硬盘的方法(教程)...

前期准备:创建虚拟硬盘1、关闭VM中正在运行的虚拟系统;2、在虚拟系统名称上点右键-》Virtual Machine Settings;3、在Hardware页点“Add”-》Add a hard disk-》Create a new virtual disk-》SC…

linux 内核3.8,[Beaglebone] BBB迁移到linux 3.8实时内核

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?动机之前使用TI SDK提供的3.2标准内核,在和fpga进行高速通信时出现CPU 100%中断响应延迟严重(偶尔>50ms)造成数据丢包。为达到严格的中断响应速度(&…

软考解析:2017年上半年下午试卷

软考解析:2017年上半年下午试卷 第一题:数据流图 第二题:数据库设计 第三题:面向对象开发 真题 理论 类图 状态图 解题思路 第四题:算法与数据结构 第五题:设计模式与Java转载于:https://www.cnblogs.com/…

PHP配置开发环境

PHP配置开发环境 1.建3个文件夹: 2:找到apache的安装包 3:可以随意写 4: 5:找到你的apache的路径 6:注意:不要解压到当前文件夹 7:剪切替换名字修改为php 8:在apache >…

linux下tar包安装sudo命令,ubuntu12.04LTS安装gv-412-Linux-x86.tar.gz方法

折腾了2天多,终于装好了。操作系统Ubuntu 12.04 LTS (在win7系统下用ubuntu的windows安装工具安装的,有点类似双系统)gaussian view程序gv-412-Linux-x86.tar.gz(软件可以从这里找到一些Linux&WinGaussian&gview下载地址)特别提示下面的设计到的…

linux 端口tnpl,Linux和Windows端口占用情况查看

Linux :netstat-t tcp三次握手-u udp直传数据-l 监听-r 路由-n 显示ip端口号-p 进程一般的我们使用 netstat -tnpl | grep xxx 配合管道符来查找[rootVM_48_173_centos conf]# netstat -tnplActive Internet connections (only servers)Proto Recv-Q Send-Q Local A…

SpringAOP aspectJ ProceedingJoinPoint 获取当前方法

aspectJ切面通过ProceedingJoinPoint想要获取当前执行的方法: 错误方法: Signature s pjp.getSignature(); MethodSignature ms (MethodSignature)s; Method m ms.getMethod(); 这种方式获取到的方法是接口的方法而不是具体的实现类的方法&…

linux修改挂载目录名字,linux下修改mount挂载目录名

有时根据情况需要更改mount挂载目录名来保持多个机器的统一,方便我们的分布式操作,下面是具体的操作细节。修改前:文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root50G 3.3G 44G 7% /tmpfs …

Linux禁止ip拒绝访问80,Linux iptables 设置允许(禁止)IP范围

假设有一个情况,我们要将某一个网段内的IP“一段IP”封锁起来,如192.168.0.2-192.168.0.61,请问该如何来设定这个规则?因为这个网段并没有符合任何一个CIDR网段,因此我们不能使用如“-s 192.168.0.0/28”的网段来匹配这…

转:linux中fork()函数详解

转:linux中fork()函数详解 https://blog.csdn.net/jason314/article/details/5640969转载于:https://www.cnblogs.com/igfirstblog/p/9046580.html

Linux表空间扩容,linux下oracle表空间导致磁盘空间不足

今天在执行oracle存储过程的时候报错,错误信息:"01652 无法通过128(在表空间temp中)扩展temp段"。在linux中执行df命令后发现表空间由于autoextend的原因,导致磁盘已用空间为100%。[rootlocalhost ~]# df -h文件系统 容量 已用 可用 已用% 挂…

作业1#python用列表实现多用户登录,并有三次机会

1 username ["juebai","haha"]2 password [123,456]3 count 04 while count < 3:5 _username input("用户名&#xff1a;")6 _password int(input("密码&#xff1a;"))7 if _username username[0] and _passwor…

linux命令 sed 有的功能有,Linux命令:sed简介

sed是一种在线行编辑器&#xff0c;一次处理一行。工作时&#xff0c;把当前处理的行放到“模式空间”中进行编辑&#xff0c;编辑完成后把内容输送至屏幕。语法&#xff1a;sed [OPTION]…{script}…[input file]选项&#xff1a;-r:支持正则表达式-n:静默模式&#xff0c;不显…

while中的break

while中的break意思是结束循环 start 0 while True:print(start)if start 100:break # 如果start 100 就退出循环start 1转载于:https://www.cnblogs.com/zhengkui/p/9052875.html

linux tcp header更改,Linux Netfilter中修改TCP/UDP Payload的方法

来自linux-2.6.36/net/ipv4/netfilter/nf_nat_helper.c注&#xff1a;该代码可以移植到ebtables中使用&#xff0c;但需要注意struct rtable *rt结构在ebtables中是没有的。修改UDP payload的代码&#xff1a;/* Unusual, but possible case. */static int enlarge_skb(struct …

Servlet跳转到JSP页面后的路径问题相关解释

一、现象与概念 1. 问题 在Servlet转发到JSP页面时&#xff0c;此时浏览器地址栏上显示的是Servlet的路径&#xff0c;而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时&#xff0c;则会出现路径混乱问题。 2. 绝对路径概念 相对于con…

linux7 kickstart,Linux运维知识之CENTOS 7 验证KICKSTART文件是否完整方法

本文主要向大家介绍了Linux运维知识之CENTOS 7 验证KICKSTART文件是否完整方法&#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习Linux运维知识有所帮助。功能简介&#xff1a;CentOS 7 包含 ksvalidator 命令行程序&#xff0c;可使用该程序进行确认Kickstart文…

CI项目设计Redis队列

项目开发过程中需要设计提供可平衡的处理多个用户请求的队列。需求&#xff1a;当用户登录后&#xff0c;查看系统中已经登录的管理员队列&#xff0c;然后查看后台管理员的处理能力&#xff0c;如果已经不能处理新的请求&#xff0c;则把该管理员从处理队列中删除&#xff0c;…

c语言在函数中传递指针,[求助]关于文件指针在函数中传递的问题

[求助]关于文件指针在函数中传递的问题我写的一个程序中文件指针在各函数间传递。请各位整理一下思路。/**//* 。。。(开头部分省略) *//* 部分函数省略 *//* 打开号码文件&#xff0c;号码文件必须与该程序放在同一文件夹。*/void OpenFile(char * argv , FILE ** fin , FILE …