J'ai lu de nombreux articles qui expliquent comment y parvenir, mais je suis arrivé à la conclusion qu'ils ne l'ont tout simplement pas testé correctement. Mes conclusions sont :
-
max_allowed_packet
du serveur est une limite supérieure codée en dur. Vous pouvez le modifier pour l'ensemble du serveur comme n'importe quel autre paramètre côté serveur (fichier de configuration ou paramètres de ligne de commande du serveur), mais il n'est pas possible de l'augmenter depuis le client. -
Certains clients (tels que l'utilitaire de ligne de commande officiel) permettent de définir
max_allowed_packet
à la connexion. C'est le seul moyen de modifier réellement la valeur d'un client (changer de session ou de variables globales n'a aucun effet sur la taille des packages échangés) mais cela n'est utile que si vous souhaitez baisser ce. L'envoi de packages plus volumineux que le paramètre du serveur déclenchera toujours des erreurs liées aux packages car le serveur ne les acceptera pas.
Pour résumer :
- Vous devez traiter
max_allowed_packet
en lecture seule. - S'il est trop petit, vous devez le changer pour l'ensemble du serveur ou vivre avec.
Dommage que je ne puisse pas fournir de liens vers la documentation officielle mais ce sujet est mal documenté.