当前位置:  开发笔记 > 编程语言 > 正文

PDO:MySQL服务器已经消失

如何解决《PDO:MySQL服务器已经消失》经验,为你挑选了2个好方法。

我有一个脚本,每晚做很多腿部工作.

它使用在循环中执行的PDO预处理语句.

前几个运行正常,但随后我发现它们都失败并出现错误:"MySQL服务器已经消失".

我们运行MySQL 5.0.77.

PHP版本5.2.12

网站的其余部分运行良好.



1> Pascal MARTI..:

该B.5.2.9.MySQL服务器已经消失了MySQL手册的一部分,列出了此错误的可能原因.

也许你处于其中一种情况?- 特别是考虑到你正在进行长时间的操作,关键点wait_timeout可能很有意思......


你可以做$ pdo-> query("SET wait_timeout = 1200;"); 为长时间运行的脚本设置特定的超时限制
或者通过php PDO"ping"mysql的方法?
$ pdo-> exec("SET @@ session.wait_timeout = {$ waitTimeout}");

2> rustyx..:

您最有可能向服务器发送的数据包长于允许的最大数据包.

当您尝试插入BLOB超过服务器的最大数据包大小时,即使在本地服务器上,您也会在客户端上看到以下错误消息:

MySQL服务器已经消失了

并在服务器日志中显示以下错误消息:(如果启用了错误日志记录)

错误1153获得的数据包大于'max_allowed_pa​​cket'字节

为了解决这个问题,你需要决定什么是最大的尺寸BLOB,你将永远插入,并设置max_allowed_packetmy.ini相应的,例如:

[mysqld]
...
max_allowed_packet = 200M
...


+1这也修复了我遇到的错误(说服务器已经消失)。
推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有