北京SEO

解决#2006 - MySQL server has gone away错误

2019/10/10/17:32:34  阅读:1721  来源:谷歌SEO算法  标签: Linus Torvalds

MySQL server has gone away是告诉我们内存不足或系统原因了,解决办法只要对mysql配置文件参数进行一些调整即可解决,具体如下.

使用php插入大数据记录到Mysql的时候,遇到一个问题:

2006:MySQL server has gone away :: insert into ******

经过查找,知道了原因,是Mysql的max_allowed_packet的值设置得过小或者没有设置,此变量是用来控制其通信缓冲区的最大长度.

解决方法:

[mysqld]

max_allowed_packet = 16M

在my.cnf文件中设置上述变量到mysqld段中,如果没有就添加.

关于max_allowed_packet的主要解释如下:

包或任何生成的/中间字符串的最大大小,这个过程大部分发生在load data file中,有时也发生在update,insert中.

包消息缓冲区初始化为net_buffer_length字节,但需要时可以增长到max_allowed_packet字节,该值默认很小,以捕获大的(可能是错误的)数据包.

如果你使用大的BLOB 列或长字符串,你必须增加该值,应同你想要使用的最大的BLOB一样大,max_allowed_packet的协议限制为1GB,这个值必须是1024的倍数,如果不是1024倍数的值,mysql就会自动四舍五入为最接近的1024的倍数.

当你改变max_allowed_packet的值,你就改变了消息缓冲区的大小,你也应该在客户端允许的范围内修改客户端的buffer大小,在客户端,max_allowed_packet默认值是1GB,你可以通过命令行或者配置文件,改变客户端的max_allowed_packet值.

在MySQL5.0.84版本中,会话max_allowed_packet值,还只是只读的,在5.0.84之前的版本,设置会话中可以设置max_allowed_packet的值,但是没什么作用.

广告内容

解决#2006 - MySQL server has gone away错误 解决#2006 - MySQL server has gone away错误 解决#2006 - MySQL server has gone away错误

相关阅读

热门评论

小潘seo 小潘seo

重庆小潘seo博客和你一起学习SEO知识,共同分享SEO优化~

总篇数165

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法