Recherche de site Web

Comment changer le nombre maximum de paquets autorisés par défaut dans MySQL


Dans MySQL, un paquet de communication ou paquet fait référence à une seule instruction SQL envoyée à un serveur MySQL. Cela fait également référence à une ligne individuelle qui a répondu au client ou à un journal binaire du serveur MySQL.

Cela signifie que si le client ou le serveur obtient un paquet plus grand que le paramètre max_allow_packet défini, il renvoie une erreur "ERR_NET_PACKET_TOO_LARGE". Le serveur ou le client peut alors fermer la connexion.

Cet article démontrera comment vous pouvez changer la taille maximale des paquets à la fois dans le client MySQL et dans le serveur MySQL.

Qu'est-ce que max_allow_packet ?

Le max_allow_packet est une variable de session déterminant le nombre d'octets envoyés ou reçus dans un seul paquet de communication.

Vérifiez la taille maximale de paquet autorisée actuelle

Nous pouvons vérifier la taille maximale de paquet autorisée en obtenant les valeurs des variables MySQL.

Un exemple de requête est montré ci-dessous :

show variables like 'max_allowed_packet';

La requête ci-dessus devrait renvoyer la taille de paquet maximale autorisée en octets comme :

|Variable_name     |Value   |
|------------------|--------|
|max_allowed_packet|67108864|

Notre exemple montre que la taille maximale de paquet autorisée actuelle est de 67108864 octets, soit environ 67 Mo.

Rappelez-vous que bien que MySQL nous permette de changer la valeur de la taille maximum de paquet autorisée, la plus grande taille de paquet possible est de 1 Go.

Changez le max_allowed_packet dans MySQL

Méthode 1 – Configuration côté client et serveur

Nous devons modifier à la fois les configurations côté client et côté serveur pour augmenter ou diminuer la valeur de la taille maximale du paquet autorisé.

Cela provient de l'utilisation par MySQL de valeurs autonomes pour à la fois mysqld et le client. Par conséquent, la valeur que vous obtenez de la commande SHOW VARIABLES LIKE 'max_allowed_packet' fait référence à la valeur maximale du côté serveur.

Pour définir la valeur maximale côté client, nous pouvons exécuter la commande :

mysql -u root -p --max_allowed_packet=100M

La commande ci-dessus définit la taille du paquet à 100 Mo du côté client.

Notez que la taille maximale de paquet autorisée du côté client est de 16 Mo.

Sur le serveur, modifiez la taille du paquet comme suit :

mysqld -u root -p --max_allowed_packget=128M

REMARQUE que la taille maximale de paquet autorisée par défaut côté serveur est de 64 Mo.

Méthode 2 – Côté serveur sans redémarrage

Si vous avez des privilèges SUPER sur le serveur, vous pouvez changer la valeur du paquet maximum en utilisant la commande SET GLOBAL comme :

SET GLOBAL max_allowed_packet = 128,000,000;

Cela augmente la valeur max_allowed_packet à 128 Mo sans redémarrer le serveur. Cependant, cela nécessite des privilèges SUPER.

Méthode 3 – Modifier le fichier de configuration

Une autre méthode que vous pouvez utiliser pour augmenter ou diminuer la taille maximale des paquets autorisés consiste à modifier le fichier de configuration.

Dans le répertoire d'installation de MySQL, localisez le fichier my.ini (Windows). Par défaut, le fichier se trouve dans C:\ProgramData\MySQL\MySQL Server 8.0

Modifiez le fichier et changez la valeur max_allowed_packet à votre taille cible.

Par exemple, nous pouvons définir la taille du paquet à 128 Mo comme indiqué :

Enregistrez et fermez le fichier. Redémarrez le service MySQL pour recharger la nouvelle configuration.

Dans Linux, vous devez modifier le fichier mysqld.conf. Dans la plupart des cas, ce fichier est situé dans /etc/MySQL/mysqld.conf.d/mysqld.cnf

De même, éditez et changez la taille de max_allowed_packet à la valeur souhaitée. De même, redémarrez le service pour recharger les modifications.

Conclusion

Dans cet article, vous avez appris ce qu'est la variable max_allowed de MySQL, comment vérifier la taille maximale de paquet autorisée et diverses méthodes pour augmenter ou diminuer la taille des paquets.