← Back to team overview

maria-discuss team mailing list archive

Re: 10.1.x: Got packet bigger than 'max_allowed_packet' bytes

 



Am 17.02.2017 um 18:26 schrieb Chris Calender:
Hello,

On 2/17/2017 9:51 AM, Reindl Harald wrote:
Am 16.02.2017 um 10:04 schrieb Peter Laursen:
The particular error message "Got packet bigger than
'max_allowed_packet' bytes" is returned from the client and not the
server.

Both the server and the client has a "max_allowed_packet" setting. The
client-one is listed
here https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html

well, tell that "mysql_upgrade" (part of mariadb) and "myqltuner"
(mysqtuner pretends "[!!] Attempted to use login credentials, but they
were invalid" when this is ste in the [client] section

mysql_upgrade
/usr/bin/mysql_upgrade: unknown variable 'max_allowed_packet=200M'

I'm sure you're already aware of this, but for anyone else out there
following along that does not know, cases like this are exactly what the
--loose- prefix is for.  That way one should be able to prefix such
variables with --loose-, under say the [client] section, and then client
programs that understand the variable should work, and those that do not
*should* not fail (though I cannot comment specifically on mysqltuner,
as I've not used it before).  But that is the general premise of the
--loose-* prefix.

no, i am not aware of this and to be honest have zero understanding when client software from the same build don't understand and or at least just ignores options it don't understand

we can dicsuss about server better safe than sorry, but frankly i am not a big fan of things not doing anything because they don't understand a future or removed config param

For instance, if you set:

[client]
loose-max_allowed_packet=200M

Then mysql_upgrade will only throw a warning and continue on:

shell> mysql_upgrade -uroot -ppass -P3366
Warning: mysql_upgrade: unknown variable 'loose-max_allowed_packet=200M'
Phase 1/6: Checking and upgrading mysql database
Processing databases
...

so currently "mysql" is the only client which a) understands it and b)
proceeeds it correctly - what a mess

Also, mysqldump does read and process max_allowed_packet correctly.  So
for anyone out there reading this strictly in regards to
max_allowed_packet, don't forget mysqldump needs it too (which it would
read it from [client], [mysqldump], or the command line invocation itself)


References