解决#2006 - MySQL server has gone away错误
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-17 17:19:40 浏览: 评论:0
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的值,但是没什么作用.
Tags: 2006 server has
相关文章
- ·怎样使MySQL安全以对抗解密高手(2013-11-11)
- ·MYSQL用户root密码为弱口令的攻击(2013-11-11)
- ·数据库系统防黑客入侵技术综述(2013-11-11)
- ·Mysql数据库的安全配置、实用技巧(2013-11-11)
- ·Mssql和Mysql的安全性分析(2013-11-11)
- ·MySQL安全问题的一点心得(2013-11-11)
- ·PHP常用MySql操作(2013-11-13)
- ·Oracle8的不安全因素及几点说明(2013-11-14)
- ·MySQL数据库下载漏洞攻击技术(2013-11-14)
- ·MySQL3.23.31之前版本的安全漏洞(2013-11-14)
- ·通过Mysql的语句生成后门木马的方法(2013-11-14)
- ·MySQL服务器内部安全数据目录访问(2013-11-14)
- ·MySQL数据库中的安全解决方案(2013-11-14)
- ·如何保护MySQL 中的重要数据(2013-11-14)
- ·为你的MySQL数据库加铸23道安全门(2013-11-14)
- ·Mysql的Root密码遗忘的解决办法(2013-11-14)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)