关于Mysql max_allowed_packet的问题

Mysql的max_allowed_packet问题

在初学mysql时我们可能不会遇到max_allowed_packet的问题,但当你需要一次写入大量的数据时,就可能会遇到mysql提示写入的数据过大问题。

1.什么是max_allowed_packet:

max_allowed_packet是mysql允许插入一条数据的大小

2.查看max_allowed_packe:

在mysql的命令行模式中使用

  show VARIABLES like   '%max_allowed_packet%’;

![@查看结果如下 ](http://img.blog.csdn.net/20170419133351579?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTV9BTEw=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/
gravity/SouthEast )
3.解决的办法:(对mysql的max_allowed_packet的修改。(3种方式))


  • 修改my.cnf文件,设置max_allowed_packet=16M,该方法简单并且永久的生效。完成这些以后必须做的就是对mysql的重启和项目中对数据库要重新连接,也就是说重启你的服务(以spring boot来说,其他类似)。

  • 进入mysql的命令行模式,使用set global max_allowed_packet = 2 * 1024 * 1024 * 10;来进行设置大小,可以根据你项目的需求来进行调整,在出错误时mysql是会提示你插入的数据包的大小和你当前允许的数据包的大小的。这是不需要对musql进行重启的,重启后会恢复到以前的设置,所以切记不要重启。当然和上一个相同你的服务还是要重启的。

  • 在终端 使用mysql --max_allowed_packet=32M 来进行设置。(没有试过,有兴趣的可以试试。然后记得回复我)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容