MySQL:Got a packet bigger than 'max_allowed_packet' bytes解决办法

losetowin 发布于:2014-5-4 16:47 分类:技术  有 10358 人浏览,获得评论 66 条 标签: mysql max_allowed_packet 

本文地址:http://www.dutycode.com/post-51.html
除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本文地址,谢谢。

问题描述:

    使用insert语句插入的时候,报MySQL错误;Got a packet bigger than 'max_allowed_packet' bytes

原因:

    说白了就是因为insert语句太长,导致超出了服务器所能接收的范围。

    mysql默认的max_allowed_packet是1M,所以,当你的数据量大于1M的时候(PS,你可以看一下你的sql文件大小,如果大于1M,一般情况下就超出了mysql的默认设置),这时候mysql就会报出错误,并结束连接。

解决办法:

    方法一:

        分割你的insert语句,将原本一个的insert拆分成2个insert语句。

    方法二:

        修改服务器设置,增大mysql的max_allowed_packet设置,具体参考:http://www.kuqin.com/database/20110922/312013.html

    方法三:

        临时修改max_allowed_packet设置

        set global max_allowed_packet=524288000;修改 #512M

推荐使用方法一,原因是可控制性强。

    

版权所有:《攀爬蜗牛》 => 《MySQL:Got a packet bigger than 'max_allowed_packet' bytes解决办法
本文地址:https://www.dutycode.com/post-51.html
除非注明,文章均为 《攀爬蜗牛》 原创,欢迎转载!转载请注明本文地址,谢谢。