首页 > 技术文章 > com.mysql.jdbc.PacketTooBigException,及mysql 设置 max_allow_packet

zjdxr-up 2018-01-18 20:10 原文

本文为博主原创,未经允许不得转载:

      在进行批量导入表格数据入库操作时,报了以下错误:

 错误分析:

        mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。

mysql默认接受data最大是1M,也就是超过了就会失败。

     

1.直接在命令行中运行命令

set global max_allowed_packet = 2*1024*1024*10; 或者set global max_allowed_packet = 16M;(博主是用的后面这个)

  然后输入命令   show VARIABLES like '%max_allowed_packet%';   就可以看到自己改的值。

以上为默认值。

修改值为20M

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

此时关闭数据库连接,重新启动或重新连接数据库,再进行查询更改后的值即可。

2.修改mysql的配置文件(关于如何找到当前正在使用的配置文件,参考这篇文章:插眼传送

max_allowed_packet = 16M 

  找到他把后面的值改掉,重启mysql就永久生效了。

 

推荐阅读