异常处理_Packet for query is too large (1257 > 1024). You can change this value on the server by setting the max_allowed_packet' variable

异常特征:(访问网站后台报错如下)

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1257 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
	at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3291) ~[mysql-connector-java-5.1.18.jar:na]
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1983) ~[mysql-connector-java-5.1.18.jar:na]
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163) ~[mysql-connector-java-5.1.18.jar:na]
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624) ~[mysql-connector-java-5.1.18.jar:na]
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127) ~[mysql-connector-java-5.1.18.jar:na]
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362) ~[mysql-connector-java-5.1.18.jar:na]
	at net.sf.log4jdbc.PreparedStatementSpy.execute(PreparedStatementSpy.java:417) ~[log4jdbc-1.2.jar:na]

解决方式(可能有的朋友这样并不能解决)

1)进入mysql查看
mysql> show variables like '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name            | Value      |
+--------------------------+------------+
| max_allowed_packet       | 1024   |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set (0.00 sec)
PS:
max_allowed_packet这个是定义mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小
定义过大,比如max_allowed_packet=8092,有可能服务器端太忙,来不及接收,或者网络太差,会容易造成丢包
定义过小,会因为客户端可能无法快速接收服务器端发过来的包,在访问资源时数据包太大而传送失败,
个人认为大小根据访问资源大小及访问量走
2)到mysql的bin目录下
[root@eRrsr bin]# mysqld --max_allowed_packet=30M
3)再次进入mysql查看
mysql> show variables like '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name            | Value      |
+--------------------------+------------+
| max_allowed_packet       | 31457280  |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set (0.00 sec)
4)改动 /etc/my.cnf 有max_allowed_packet则改之,大小30M (自定)
5)重启mysql服务

----完----

 

posted @ 2018-01-02 17:02  eRrsr  阅读(718)  评论(0)    收藏  举报