JDBC—往 MySQL 中写入 Blob 数据时,出现错误:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (5724349 > 1048576)
本文适配的 Mysql 版本为:5.5.36.0,Blob 字段的数据类型:mediumblob(允许数据最大为 16M)当往 Mysql 数据库中写入 Blob 类型的数据时,报错信息如下:
复制代码
上述错误信息的意思是:欲写入的数据大小为 5724349 个字节,虽然小
于 16M,但是是大于 Packet 的 1048576 字节。
解决方案:
报错信息后半句也提示了:setting the max_allowed_packet' variable.找到 MySQL 安装目录(一般在 C 盘)下的 my.ini 文件,并打开文件,如图:
直接把 “max_allowed_packet=16M”粘贴到最下方即可。
设置完成后,重新启动 MySQL 就可以了。
可能遇到的问题:
如果 MySQL 安装在 C 盘,在保存 my.ini 文件时,会出现权限不够,无法保存的问题:
解决方案:
1.打开 my.ini 属性
2.找到“安全”
3.找到如下图,点击编辑:
4.组或用户名下选择 Users,并更改权限,把写入权限勾选上,然后点击应用。如下图:
版权声明: 本文为 InfoQ 作者【打工人!】的原创文章。
原文链接:【http://xie.infoq.cn/article/c5f081b90ceb91a23673b8a81】。文章转载请联系作者。
评论