【問題描述】
在部署Java Web應用的過程中,出現如下的異常信息:
Hibernate operation:。。。(省略部分異常)。。nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1126 >
1024). You can change this value on the server by setting the max_allowed_packet' variable.
【解決辦法】
如錯誤提示中的解決方案一致,一般由於Model中設置了lob字段,存儲大字段數據,導致數據庫異常,要手動重新設置“max_allowed_packet”的屬性值。默認1M。更改爲20M,即可解決問題,方法如下:
Linux中編輯/etc/my.cnf文件,命令:
# vi /etc/mycnf
進入編輯模式,添加
[mysqld]
max_allowed_packet = 20M
保存後退出,命令如下:
Esc 之後 鍵入 :wq
重新啓動MySQL服務,命令如下
# service mysqld restart
至此,重新啓動Java Web服務器,問題解決。