Hmmmm .. Vous avez touché ce NOT-A-BUG, semble-t-il. :)
Si vous modifiez une variable système globale, la valeur est mémorisée et utilisée pour les nouvelles connexions jusqu'au redémarrage du serveur. (Pour rendre permanente une variable système globale, vous devez la définir dans un fichier d'options.) La modification est visible pour tout client qui accède à cette variable globale. Cependant, la modification affecte la variable de session correspondante uniquement pour les clients qui se connectent après la modification. La modification de la variable globale n'affecte pas la variable de session des clients actuellement connectés (pas même celle du client qui émet l'instruction SET GLOBAL).
Reportez-vous également à cela. Lisez l'explication de Shane Bester.
Vous devez modifier le fichier my.ini/my.cnf et redémarrer le serveur pour que le paramètre max_allowed_packet prenne effet.
Après avoir exécuté
set global max_allowed_packet=1000000000;
vous devez redémarrer mysql avant
SHOW VARIABLES LIKE 'max_allowed_packet'
affichera la nouvelle valeur.
J'ai ce problème lors du redémarrage de mysql via les préférences système de MAC OSX et la valeur n'a pas changé. Donc, en vous connectant à mysql via la console
mysql -u root -p
le changer puis redémarrer mySql semblait fonctionner. Cela aurait pu être une bizarrerie d'OS X.
Pour ceux qui ont une configuration MariaDb, le problème pourrait être que le max_allowed_packet variable est écrasée par un fichier de configuration appelé plus tard.
Dans mon cas, j'ai essayé d'importer une base de données et le serveur m'a répondu :ERREUR 2006 (HY000) à la ligne 736 :le serveur MySQL a disparu
J'ai découvert que le fichier :
/etc/mysql/mariadb.conf.d/50-server.cnf
est appelé plus tard
/etc/mysql/conf.d/mysql.cnf
J'ai essayé de changer continuellement dans le fichier "mysql.cnf" mais la valeur a été écrasée dans "50-server.cnf".
Donc la solution est d'entrer dans le fichier
/etc/mysql/mariadb.conf.d/50-server.cnf
et au lieu de "max_allowed_packet =16M" mettre la valeur souhaitée comme exemple"max_allowed_packet =64M"