Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pouvez-vous augmenter max_allowed_packet du client ?

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 :

  1. Vous devez traiter max_allowed_packet en lecture seule.
  2. 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é.