Mysql数据库问题汇总一

1. 解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3158064)问题

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

解决方案一:
MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M),
查询:show VARIABLES like '%max_allowed_packet%';
修改此变量的值:
MySQL安装目录下的
my.ini文件中的[mysqld]段中的"max_allowed_packet = 1M",(可能有些文件会没有这一行的)
格式为:
[mysqld]
max_allowed_packet = 1M ( 将1M更改为16M(如果没有这行内容,增加一行)),
保存,重起MySQL服务。
现在可以load大于1M的文件了
不重启mysql使my.cnf生效,命令行下配置like 'max_allowed_packet'

方案二:不重启mysql使my.cnf生效,命令行下配置like 'max_allowed_packet=16M' (1.6*1024*1024*10)
在命令行里输入  set global max_allowed_packet=1677716;
然后,关闭连接,查看下修改过来了没有     show VARIABLES like '%max_allowed_packet%';

猜你喜欢

转载自blog.csdn.net/hansen1159/article/details/79785129