mysql更新数据失败问题解决


今天遇到一个问题(MySQL server has gone away),一开始看着无厘头,sql语句导出来一看程序要插入一段很长的文本,结果报错了,我简单查看了sql 的长度大概1M左右。字段使用的是longtext应该没有问题。正不知道如何解决,一个同事提醒我说需要改配置里的max_allowed_packet值就可以了,将max_allowed_packet设置了一个比1M大的值就可以存储了,我设置了1500k(测试一下临界值,只要大于那个sql的长度就可以)。

在mysql文档里找到了这个参数的解释:

max_allowed_packet

包或任何生成的/中间字符串的最大大小。

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

如果你使用大的BLOB 列或长字符串,你必须增加该值。应同你想要使用的最大的BLOB一样大。max_allowed_packet的协议限制为1GB。

Archives