2010-08-27 99 views
1

我正在使用PHP脚本,它意味着长时间连续执行(一次性映射脚本)并将数据插入MySQL数据库。该脚本能正常工作,但最终(一两分钟后),它会得到一个错误:执行创建“MySQL服务器已经消失”错误

MySQL server has gone away 

我已经改变了INI设置两个MySQL连接超时,并为PHP脚本执行超时,但也发生了变化结果。

我已经制作了一个非常类似的脚本,它在相同的服务器上运行了很长时间,却没有遇到这个错误。

我感谢你的时间,希望你的帮助可以让我解决这个问题,以及将来遇到这个职位的任何其他沮丧的scripter。

+0

执行的查询是什么? – 2010-08-27 07:25:41

回答

1

有很多原因要做到这一点:超时,大数据包大小等

请检查this

0

检查mysql服务器设置上的max_allowed_pa​​cket。客户端不能发送大于此值的数据包,否则mysql服务器将关闭连接。

这只与查询字符串变得很长时的数据插入有关。这不会影响SELECT,因为服务器会自动放大发送数据包。

好的大小将是您的数据的大小乘以2。由于在发送数据之前经常会转义数据,并且在SQL QUERY中添加了页眉和可能的页脚,因此需要进行乘法运算。

max_allowed_pa​​cket的用法是控制服务器内存使用情况并限制DoS攻击。

相关问题