JDBC向MySQL传输数据时出现Packet for query is too large错误
错误原因
一般是没有修改Mysql允许传输的最大数据包大小
使用 SHOW VARIABLES LIKE '%max_allowed_packet%';
可以看到默认的大小,一般默认为1M。
处理方法
1.暂时修改
登录mysql,使用命令行 set global max_allowed_packet = 1024*1024*10;
设置最大传输数据包大小为10兆,可根据实际情况进行调整,传输数据包过大会影响数据库性能。
此方法在重启mysql后失效,需要重新设置
2.永久修改
在mysql安装目录中找到my.ini配置文件
在最后添加 max_allowed_packet=10485760
此方法永久生效