Subject: Re: bug#25415: MySQL "server has gone away" when reloading database dump due to "max_allowed_packet" default

From: [email-masked] (Ludovic Courtès)
Date: Thu, 12 Jan 2017 15:22:39 +0100

Hi Ben,

Ben Sturmfels <[email-masked]> skribis:

> Reloading the same dump works for me on default MySQL in Trisquel 7.
> The database dump was created on Debian with `mysqldump --no-create-db
> DBNAME`.
>
> On Guix, I was able to reload the dump by running mysqld with a custom
> config file with max_allowed_packet=16M under [mysqld].
>
> It appears that the default value for `max_allowed_packet` under
> Debian/Trisquel is "16M", where under Guix it is "4M". The mysqldump
> defaults bunche a whole lot of records into a single insert statement
> for performance, which is why I'm getting a value > 4M.
>
> Could it be worth setting max_allowed_packet to 16M in Guix's
> `mysql-configuration-file` function for consistency with Debian?

Definitely.  I would add a ‘max-allowed-packet’ field in
<mysql-configuration> in (gnu services databases) and make sure it’s
honored.

Would you like to give it a try?

Thanks for your report!

Ludo’.