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

MySQL Server a disparu lors de l'importation d'un gros fichier sql

Comme indiqué ici :

Les deux raisons (et correctifs) les plus courantes pour lesquelles le serveur MySQL a disparu (erreur 2006) sont :

Le serveur a expiré et a fermé la connexion. Comment réparer :

  1. vérifiez que la variable wait_timeout dans le fichier de configuration my.cnf de votre mysqld est suffisamment grande. Sur Debian :sudo nano /etc/mysql/my.cnf , définissez wait_timeout = 600 secondes (vous ne pouvez pas modifier/diminuer cette valeur lorsque l'erreur 2006 a disparu), puis sudo /etc/init.d/mysql restart . Je n'ai pas vérifié, mais la valeur par défaut forwait_timeout peut être d'environ 28800 secondes (8 heures).

  2. Le serveur a abandonné un paquet incorrect ou trop volumineux. Si mysqld reçoit un paquet trop volumineux ou incorrect, il suppose que quelque chose ne va pas avec le client et ferme la connexion. Vous pouvez augmenter la taille maximale des paquets en augmentant la valeur de max_allowed_packet dans le fichier my.cnf. Sur Debian :sudo nano /etc/mysql/my.cnf , définissez max_allowed_packet = 64M (vous ne pouvez pas modifier/diminuer cette valeur lorsque l'erreur 2006 a disparu), puis sudo /etc/init.d/mysql restart .

Modifier :

Notez que les fichiers d'options MySQL n'ont pas leurs commandes déjà disponibles sous forme de commentaires (comme dans php.ini par exemple). Vous devez donc saisir tout changement/ajustement dans my.cnf ou my.ini et placez-les dans mysql/data répertoire ou dans l'un des autres chemins, sous le groupe d'options approprié tel que [client] , [myslqd] , etc. Par exemple :

[mysqld]
wait_timeout = 600
max_allowed_packet = 64M

Redémarrez ensuite le serveur. Pour obtenir leurs valeurs, tapez dans le client mysql :

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