Maison >base de données >tutoriel mysql >Pourquoi mon serveur MySQL se déconnecte-t-il lors d'importations SQL volumineuses et comment puis-je y remédier ?

Pourquoi mon serveur MySQL se déconnecte-t-il lors d'importations SQL volumineuses et comment puis-je y remédier ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 14:51:13200parcourir

Why Does My MySQL Server Disconnect During Large SQL Imports, and How Can I Fix It?

Résolution de la déconnexion du serveur MySQL lors d'une importation SQL volumineuse

Lors de l'importation de fichiers SQL volumineux via phpMyAdmin, vous pouvez rencontrer le message d'erreur frustrant : "MySQL le serveur a disparu." Cela indique une déconnexion inattendue entre le serveur et le client.

Pour résoudre ce problème, envisagez les solutions suivantes :

  1. Vérifiez et ajustez Wait_Timeout :

Assurez-vous que la variable wait_timeout dans votre fichier de configuration MySQL (my.cnf) est définie sur une valeur suffisante. Cette variable spécifie la durée maximale pendant laquelle le serveur attend une connexion client avant de la fermer. Pour l'ajuster sur Debian, utilisez la commande :

sudo nano /etc/mysql/my.cnf

Définissez la variable sur une valeur plus élevée, par exemple 600 secondes.

  1. Augmentez Max_Allowed_Packet :

La variable max_allowed_packet détermine la taille maximale d'un seul paquet que le serveur peut recevoir. Si le fichier SQL dépasse cette limite, le serveur peut interrompre la connexion. Pour augmenter cette limite, modifiez le fichier my.cnf :

sudo nano /etc/mysql/my.cnf

Définissez la variable sur une valeur plus grande, par exemple 64 Mo.

Remarque supplémentaire :

Les fichiers de configuration MySQL ne contiennent pas de commentaires par défaut. Par conséquent, vous devez ajouter manuellement toutes les modifications et les placer sous le groupe d'options approprié, tel que [mysqld].

Exemple :

[mysqld]
wait_timeout = 600
max_allowed_packet = 64M

Une fois les modifications effectuées enregistré, redémarrez le serveur MySQL. Pour vérifier les valeurs actuelles, utilisez le client MySQL :

> select @@wait_timeout;
> select @@max_allowed_packet;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn