Packet for query is too large MySQL

Mayank R Jain picture Mayank R Jain · Jan 29, 2016 · Viewed 12.2k times · Source

I have a tomcat app connecting to a MySQL Db / java application

I keep getting

Packet for query is too large 1080>1024

I tried changing my.cnf: in my.cnf the Max packet size is defined as 50 MB and

socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir     = /usr
datadir = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
lower_case_table_names  = 1
skip-external-locking



bind-address = 0.0.0.0



key_buffer      = 16M
max_allowed_packet = 50M
thread_stack        = 192K
thread_cache_size       = 8
group_concat_max_len=100000
innodb_lock_wait_timeout=300
innodb_buffer_pool_size=22G
innodb_locks_unsafe_for_binlog = ON
innodb_additional_mem_pool_size=40M

I have even tried passing the Param as part of the connection string

jdbc:mysql://serverIP:3306/dbname?maxAllowedPacket=2048000

to the jdbc driver - still I keep getting

Packet for query is too large 1080>1024

This keeps coming every few hours.

What should I check?

MySQL version is 5.5

Thanks for the help.

Answer

mainframer picture mainframer · Apr 16, 2020

For those who just want to temparery increase the size of max_allowed_packet and don't want to make this change permanent, try execute sql:

use your_db;
set global max_allowed_packet = 1024*1024*10; # set size to 10M  

to verify whether it takes effect or not, you need to open a new query session and execute:

show VARIABLES like '%max_allowed_packet%';

Please note this change is temparery and will restore to default when mysql restart.