我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL server has gone away两种有效的解决办法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL server has gone away两种有效的解决办法

MySQL server has gone away两种有效的解决办法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

第一种方法, 当然是增加你的 wait-timeout值,这个参数是在my.cnf(在Windows下台下面是my.ini)中设置,我的数据库负荷稍微大一点,所以,我设置的值 为10,(这个值的单位是秒,意思是当一个数据库连接在10秒钟内没有任何操作的话,就会强行关闭,我使用的不是永久链接 (mysql_pconnect),用的是mysql_connect,关于这个wait-timeout的效果你可以在MySQL的进程列表中看到 (show processlist) ),你可以把这个wait-timeout设置成更大,比如300秒,呵呵,一般来讲300秒足够用了,其实你也可以不用设置,MySQL默认是8个小 时。情况由你的服务器和站点来定。
第二种方法:
这也是我个人认为最好的方法,即检查MySQL的链接状态,使其重新链接。
可 能大家都知道有mysql_ping这么一个函数,在很多资料中都说这个mysql_ping的API会检查数据库是否链接,如果是断开的话会尝试重新连 接,但在我的测试过程中发现事实并不是这样子的,是有条件的,必须要通过mysql_options这个C API传递相关参数,让MYSQL有断开自动链接的选项(MySQL默认为不自动连接),但我测试中发现PHP的MySQL的API中并不带这个函数,你 重新编辑MySQL吧,呵呵。但mysql_ping这个函数还是终于能用得上的,只是要在其中有一个小小的操作技巧:
这是我的的数据库操作类中间的一个函数
function ping(){
if(!mysql_ping($this->link)){
mysql_close($this->link); //注意:一定要先执行数据库关闭,这是关键
$this->connect($this->t_dbhost,$this->t_dbuser,$this->t_dbpw,$this->t_dbname,$this->t_pconnect);
}
}
我需要调用这个函数的代码可能是这样子的
for($i=0;$i<10;i++){
$str=file_get_contents(&rsquo;http://www.aol.com&rsquo;);
}
$db->ping(); //经过前面的网页抓取后,或者会导致数据库连接关闭,检查并重新连接
$db->query(&rsquo;select * from table&rsquo;);
ping()这个函数先检测数据连接是否正常,如果被关闭,整个把当前脚本的MYSQL实例关闭,再重新连接。
经过这样处理后,可以非常有效的解决MySQL server has gone away这样的问题,而且不会对系统造成额外的开销。

关于MySQL server has gone away两种有效的解决办法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL server has gone away两种有效的解决办法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

gearman中worker常驻后台,导致MySQL server has gone away的解决方法

本文实例讲述了gearman中worker常驻后台,导致MySQL server has gone away的解决方法。分享给大家供大家参考,具体如下: 产生这个原因主要有如下几点:1、mysql服务宕机了 2、长时间没有操作,超过了wai
2022-05-26

MySQL server has gone away - 如何解决MySQL报错:与MySQL服务器的连接断开

在进行MySQL数据库开发或操作时,经常会遇到一个常见的报错信息:"MySQL server has gone away",这意味着与MySQL服务器的连接已经断开。本文将介绍该问题的常见原因和解决方法,并提供一些具体的代码示例,以帮助读者
2023-10-21

MySQL安装starting the server失败的2种解决办法(推荐!)

目录前言一.第一种方法,卸载该软件重新安装:1.找到软件mysql Installer2.打开找到remove3.移除已安装的MySQL server ,点击next移除。4.再点击add,重新安装。5.选择合适的版本,选好后点击箭头,再n
2023-04-19

MySQL安装starting the server失败的2种解决办法(推荐!)

MySQL是一个非常强大的关系型数据库,但有些初学者在安装配置的时候,遇到种种的困难,下面这篇文章主要给大家介绍了关于MySQL安装starting the server失败的2种解决办法,需要的朋友可以参考下
2023-05-16

MySQL----JDBC无法连接数据库,报The driver has not received any packets from the server的解决办法

【原文链接】MySQL----JDBC无法连接数据库,报The last packet sent successfully to the server was 0 milliseconds ago. The driver has not r
2023-08-16

windows系统开始菜单没有搜索框的两种解决办法

用搜索查找的东西快一些,但是开始菜单里的搜索找不到了,有很多的人有同样的问题吧,别着急,小编写了一篇关于如何解决菜单搜索js不见了的经验,菜单搜索没见了,不会操作的电脑的,可以看看小编的经验,希望小编的经验可以帮助到了你哦,如有什么疑问可以
2023-06-17

mysql启动报错:The server quit without updating PID file的几种解决办法汇总

不管是在安装还是运行MySQL的时候,都很有可能遇到报错,下面这篇文章主要给大家介绍了关于mysql启动报错:The server quit without updating PID file的几种解决办法,需要的朋友可以参考下
2022-11-13

Win10系统ie浏览器提示已停止工作怎么办 Win10系统ie11崩溃两种有效简单的解决方法

在WIndojavascriptws 10系统中主流浏览器已经变成了Edge,但是有些网站指定需要使用ie打开。最近有用户反应在win10系统中打开ie,卡了一会就提示“已停止工作”该怎么办呢?下面我们的小编给大家分
2023-05-21

win8.1系统忽然没有声音了怎么办?win8.1系统忽然没有声音的两种解决方法图文教程

有些时候win8.1系统会出现忽然没有声音的问题,无论怎样滑动音量条都没用,只能重启,怎么回事呢?导致win8.1系统忽然没有声音的原因有很多,小编收集一些相关win8.1系统忽然没有声音的解决方法,接下来编程网的小编和大家分享win8.1
2022-06-04

编程热搜

目录