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相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php连接不上mysql但mysql命令行操作正常的解决方法
故障状况:php网站连接mysql失败,但在命令行下通过mysql命令可登录并正常操作.解决方案:1.命令行下登录mysql,执行以下命令: 复制代码 代码如下: show variables like 'socket'; 执行后会得到类似于如下回显: 复制代码 代码如下: "Variable_name" "Value""socket" "/home/mysql/data/mysql.so
-
php基础之连接mysql数据库和查询数据
连接数据库,有三种方法 1. 常规方式: $con=mysql_connect($dbhostip,$username,$userpassword) or die("Unable to connect to the MySQL!"); $db = mysql_select_db($dbdatabasename,$con); //执行语句 $qres=mysql_query("SELECT id,GoodsName FROM user"); //提取一条数据 11 $
-
Php连接及读取和写入mysql数据库的常用代码
既然现在你看到了这篇文章,说明你肯定知道PHP和MySQL是怎么一回事,我就不啰嗦了.但为什么你还要继续阅读此文呢?可能是以前你习惯复制粘贴一些代码,并没有真正弄懂代码的含义:也可能你以前弄懂了,但像我一样,有一段时间没有接触,生疏了:再或者,有人问你类似的简单问题,而你已经不屑于回答,直接上网搜索,恰好找到了这篇,于是就推荐给那谁谁谁了... 不管怎样,在这里我总结了常用的PHP连接MySQL数据库以及读取写入数据库的方法,希望能够帮到你,当然也是作为我自己的一个回顾总结. 1.为了更好地设置
-
php开启mysqli扩展之后如何连接数据库
Mysqli是php5之后才有的功能,没有开启扩展的朋友可以打开您的php.ini的配置文件. 查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可. 相对于mysql有很多新的特性和优势 (1)支持本地绑定.准备(prepare)等语法 (2)执行sql语句的错误代码 (3)同时执行多个sql (4)另外提供了面向对象的调用接口的方法. 下面一一用php实例进行mysqli数据库连接! 使用方法一:使用传统的面向过程
-
php连接mysql数据库代码
复制代码 代码如下: <?php mysql_connect("localhost", "root","1981427") //连接位于localhost的服务器,用户名为root ?> 复制代码 代码如下: <?php @mysql_connect("localhost", "root","1981427") or die("数据库服务器连接失败"
-
用PHP连接MySQL代码的参数说明
代码是这样的: <?php $link=mysql_connect("localhost","root","123456"); if(!$link) echo "没有连接成功!"; else echo "连接成功!"; ?> 其中红色部分可以根据自己的实际情况进行修改. localhost:表示数据库所在地.如果是本机,则写localhost,如果在其它机器上,则可写IP地址.
-
PHP远程连接MYSQL数据库非常慢的解决方法
不知道如何解决,所以把他空间所在的服务器上也装了个MYSQL,才解决问题,今天又有个这个问题,不能也在这服务器上装一个MYSQL吧,Search: PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在my.ini(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句,保存. 开始-->运行-->
-
PHP连接和操作MySQL数据库基础教程
从这里开始 我的博客,后台数据库是什么?没错,就是MySQL,服务器端使用的脚本就是PHP,整个框架使用的是WordPress.PHP和MySQL就像夫妻一样,总是在一起干活.现在这里,就集合PHP,总结一下MySQL的实际使用,也算作是MySQL开发的入门.关于PHP与MySQL的合作,不外乎以下三种方法: 1.mysql扩展:但是目前已经不推荐使用: 2.mysqli扩展:同时提供面向对象风格和面向过程的风格:要求MySQL版本是4.1及以上的: 3.PDO扩展为PHP访问数据库定义了一种轻
-
php 连接mysql连接被重置的解决方法
新装了windows7 64位系统后,配备布置许多东西,总是有这样的那样子的拂意,昨天在开始配备布置php+apache的时候,echo phpinfo()完全没问题,但是一朝连接mysql就会呈现页面被重置的问题.原来问题不大,但是我却走到了误区: 1.我怀疑64位系统的问题: 2.我感觉代码靠不住,因为另外都能执行,轻率写个 substr()也是能显示出来的 ...... 这个问题纠结了我一天多,但是还是没解决到,无奈之下 我用" php 连接 mysql 连接被重置 "为关键字举
-
php与mysql建立连接并执行SQL语句的代码
今天写了一个小程序,很小很小,只不过是能够建立php与mysql的链接,并且实现简单的SQL语句. 新手初试,还请各路高手多多指导. 程序源代码如下: 复制代码 代码如下: <?php $conn = mysql_connect("localhost","root","") or die ("wrong!"); $sel=mysql_select_db("mydb",$conn); $sql=&quo
-
PHP持久连接mysql_pconnect()函数使用介绍
mysql_pconnect在单一进程,特别是一直保持执行的监控程序,特别适用. mysql_pconnect用法和mysql_connect类似: 复制代码 代码如下: <?php $conn = mysql_pconnect($host,$user,$pwd); mysql_select_db($dbname,$conn); $result=mysql_query("select * from table_name where col_id ='test_id'", $con
-
PHP 设置MySQL连接字符集的方法
mysql_set_charset(). 这个函数是这样用的: mysql_set_charset('utf8', $link); 成功返回 TRUE,失败返回 FALSE. 就这么简单. 下面是PHP手册原文 This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not recommended.
-
测试PHP连接MYSQL成功与否的代码
方法很简单: 将下面的代码保存为test.php,放到web目录里面执行即可. 复制代码 代码如下: <?php $link=mysql_connect("localhost","root","123"); if(!$link) echo "FAILD!连接错误,用户名密码不对"; else echo "OK!可以连接"; ?> 其中mysql_connect( )函数的参数依次为:mysql服
-
PHP同时连接多个mysql数据库示例代码
实例: 复制代码 代码如下: <?php $conn1 = mysql_connect("127.0.0.1", "root","root","db1"); mysql_select_db("db1", $conn1); $conn2 = mysql_connect("127.0.0.1", "root","root","db2&q
随机推荐
- 详解AngularJS中的http拦截
- ADODB连接access是出现 80004005 错误的解决方法
- JAVASCRIPT THIS详解 面向对象
- 用PHP实现读取和编写XML DOM代码
- 分享两种实现Winform程序的多语言支持的多种解决方案
- C# 如何判断两个文件内容是否相同的方法
- Docker 教程之Docker Hub详细介绍
- Mysql中返回一个数据库的所有表名,列名数据类型备注
- Node.js包管理器Yarn的入门介绍与安装
- 利用C++实现从std::string类型到bool型的转换
- sql2005 存储过程分页示例代码
- SQL 双亲节点查找所有子节点的实现方法
- Linux 环境变量详解及实例
- jQuery实现鼠标经过图片变亮其他变暗效果
- JQuery boxy插件在IE中边角图片不显示问题的解决
- JS实现选定指定HTML元素对象中指定文本内容功能示例
- 显示行号的文本输入框
- 非常好的网站生成静态页面防采集策略与方法
- 详解 Java 中 equals 和 == 的区别
- php简单实现文件或图片强制下载的方法