Got a packet bigger than 'max_allowed_packet' byte

日志 / 751人浏览 / 0人评论

在执行一条sql语句时报错了: Got a packet bigger than 'max_allowed_packet' bytes

原因是mysql对输入的sql语句大小有限制的,超过一定大小会终止sql语句的执行。

进入mysql的控制台:

# mysql -uroot -p 

查看max_allowed_packet的大小,这个大小就是sql语句的长度

# mysql> show VARIABLES like '%max_allowed_packet%';

        +--------------------------+------------+

        | Variable_name            | Value      |

        +--------------------------+------------+

        | max_allowed_packet       | 1024 |

        | slave_max_allowed_packet | 1024 |

        +--------------------------+------------+

1024代表1024个字节,根本执行不了长度大点的sql语句

修改max_allowed_packet的大小:

临时性修改: 

在mysql控制台输入命令:

mysql>set global max_allowed_packet = 1024*1024*10;

这样长度为1M了,一般的sql语句没问题,当然可以改再大些

永久性修改:

        找到mysql的配置文件my.cnf ,windows系统的mysql配置文件是my.ini

        修改或加上一下语句:

        max_allowed_packet= 10M

        最后重启mysql即可。

感谢博主,喝杯咖啡~

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我