Code D'Erreur: 2013. Lost connection to MySQL server during query
J'ai eu le Code d'Erreur: 2013. Lost connection to MySQL server during query erreur quand j'ai essayé d'ajouter un index à une table à l'aide de MySQL Workbench.
J'ai remarqué également qu'il apparaît à chaque fois que j'exécute la requête de type long.
Est-il loin d'augmenter la valeur de délai d'expiration?
Vous devez vous connecter pour publier un commentaire.
Les nouvelles versions de MySQL WorkBench ont une option pour changer des délais d'attente.
Pour moi, c'était sous le menu Édition → Préférences → Éditeur SQL → connexion aux SGBD lire le temps (en secondes): 600
Changé la valeur de 6000.
Aussi décoché limite de lignes que de mettre une limite à chaque fois que je veux rechercher dans l'ensemble du jeu de données devient lassant.
DBMS connection read time out
champ acceptons un maximum de 5 chiffres, et définissant le champ à 0 est équivalente à la valeur par défaut du paramètre (600 secondes). (Windows 7 Ultimate 64 bits, MySQL Workbench 5.2.47 CE)Démarrer le serveur de base de données avec le comandline option
net_read_timeout
/wait_timeout
et une valeur (en secondes) exemple:--net_read_timeout=100
.Pour référence, voir ici et ici.
mysqld
.Si votre requête a données blob, ce problème peut être résolu par l'application d'un
my.ini
changement comme proposé dans cette réponse:Par défaut, ce sera 1M (le maximum autorisé de la valeur est 1024M). Si la valeur fournie n'est pas un multiple de 1024K, il sera automatiquement arrondi au plus proche multiple de 1024K.
Tandis que le référencés thread à propos de l'erreur MySQL 2006, réglage de la
max_allowed_packet
de 1M à 16M ne fixer le 2013 d'erreur qui est apparu pour moi lors de l'exécution d'une requête de longue durée.Pour WAMP utilisateurs: vous trouverez le drapeau dans la
[wampmysqld]
section.Ajouter la ligne suivante dans /etc/mysql/cnf fichier:
exemple:
/etc/mysql/cnf
est correcte? Ne devrait-elle pas être/etc/my.cnf
?Avertissement: ce qui suit ne marchera pas si vous l'appliquer lors de la connexion à distance:
Il y a trois causes probables pour ce message d'erreur
Cause 2 :
de sa valeur par défaut de 30 secondes à 60 secondes ou plus
Cause 3 :
Vous devez définir le "interactive_timeout" et "wait_timeout" propriétés " dans le fichier de configuration de mysql pour les valeurs dont vous avez besoin.
Merci!Il a travaillé.
Mais avec le mysqldb mises à jour de la configuration de a est devenue:
doc mysql
Il suffit de faire un MySQL de mise à niveau qui permettra de re-construire le moteur innoDB avec la reconstruction d'un grand nombre de tables nécessaires pour le bon fonctionnement de MySQL comme
performance_schema
,information_schema
, etc.Problème de la commande ci-dessous à partir de votre shell:
Je sais que je suis vieux, mais sur mac
Changement "le temps de lecture de" le temps dans l'Edit->Préférences->éditeur SQL->session de MySQL
Essayer de s'il vous plaît décochez la case limiter les lignes dans le menu Édition → Préférences →Requêtes SQL
parce que Vous devez définir la interactive_timeout " et "wait_timeout" propriétés " dans le fichier de configuration de mysql pour les valeurs dont vous avez besoin.
Si vous rencontrez ce problème lors de la restauration d'un gros fichier de vidage et peut écarter le problème qu'il n'a rien à voir avec le réseau (par exemple, l'exécution sur localhost) que ma solution pourrait être utile.
Mon mysqldump au moins un INSERT qui était trop gros pour mysql à calculer. Vous pouvez afficher cette variable en tapant
show variables like "net_buffer_length";
à l'intérieur de votre mysql-cli.Vous avez trois possibilités:
--skip-extended-insert
, par insertion d'une ligne est utilisé -> bien que ces décharges sont beaucoup plus agréables à lire ce n'est pas adapté pour les grandes décharges > 1 GO car il a tendance à être très lent--net-buffer_length NR_OF_BYTES
où NR_OF_BYTES est plus petit que le serveur est net_buffer_length -> je pense que c'est la meilleure solution, bien que plus lent, pas de redémarrage du serveur est nécessaire.J'ai utilisé suivant de la commande mysqldump:
mysqldump --skip-comments --set-charset --default-character-set=utf8 --single-transaction --net-buffer_length 4096 DBX > dumpfile
J'ai eu le même problème lors du chargement d'un .fichier csv.
Converti le fichier .sql.
À l'aide de commande ci-dessous que j'ai réussi à contourner ce problème.
Espère que cela aiderait.
Si toutes les autres solutions ici fail - vérifiez votre syslog (/var/log/syslog ou similaire) pour voir si votre serveur est en cours d'exécution hors de la mémoire lors de la requête.
Eu ce problème lors de la innodb_buffer_pool_size a été trop proches de la mémoire physique sans un swapfile configuré. MySQL recommande pour une base de données spécifique paramètre de serveur innodb_buffer_pool_size à un maximum de près de 80% de la mémoire physique, Je l'avais mis de l'ordre de 90%, le noyau était en train de tuer le mysql processus. Déplacé innodb_buffer_pool_size de retour vers le bas à environ 80% et qui a résolu le problème.
J'ai été confronté à ce même problème. Je crois qu'il se passe quand vous avez des clés étrangères des tables plus grandes (ce qui prend du temps).
J'ai essayé d'exécuter l'instruction create table à nouveau sans la clé étrangère déclarations et a trouvé qu'il a travaillé.
Puis, après la création de la table, j'ai ajouté la clé étrangère de contraintes à l'aide de l'instruction ALTER TABLE de requête.
Espère que cela aidera quelqu'un.
Ce qui s'est passé pour moi parce que mon innodb_buffer_pool_size a été défini pour être plus grand que la taille de la RAM disponible sur le serveur. Les choses se sont interrompues à cause de cela et il les problèmes de cette erreur. La solution est de mettre à jour mon.cnf avec le réglage correct pour innodb_buffer_pool_size.
Aller à:
Edit -> Préférences -> Éditeur SQL
De là, vous pouvez voir les trois champs de la "Session de MySQL" le groupe", où vous pouvez maintenant définir la nouvelle connexion intervalles (en secondes).
S'avère que notre règle de pare-feu bloque ma connexion à MYSQL. Après la stratégie de pare-feu est levé pour permettre la connexion, j'ai pu importer le schéma avec succès.
J'ai eu le même problème, mais pour moi la solution a été un DB utilisateur avec trop strict d'autorisations.
J'ai dû permettre à l'
Execute
capacité sur lemysql
table. Après avoir permis que je n'avais pas de bloquer les connexions plusVérifier si le index sont, en premier lieu.
Je suis tombé sur cette lors de l'exécution d'une procédure stockée qui a été la création d'un grand nombre de lignes dans une table de la base de données.
J'ai pu voir l'erreur viennent après le temps de traversé les 30 sec limite.
J'ai essayé toutes les suggestions dans les autres réponses. Je suis sûr que ça aide , mais - ce qui a vraiment fait le travail pour moi a été de commutation à SequelPro de Workbench.
Je devine que c'était quelque côté client de la connexion que je ne pouvais pas tache dans Workbench.
Peut-être que cela aidera quelqu'un d'autre aussi ?
Si vous utilisez SQL Banc de Travail, vous pouvez essayer d'utiliser l'Indexation, par l'ajout d'un index à vos tables, pour ajouter un index, cliquez sur la clé à molette(clé) le symbole sur la table, elle devrait s'ouvrir le programme d'installation pour le tableau, ci-dessous, cliquez sur l'index, tapez un nom d'index et de définir le type de l'indice, Dans les colonnes d'index, sélectionnez la colonne de votre tableau.
Faire la même étape pour les autres clés primaires sur les autres tables.
Aller à Workbench Édition → Préférences → Éditeur SQL → SGBD connexions lire le temps : Jusqu'à 3000.
L'erreur ne s'est produite.
Il semble y avoir une réponse manque ici pour les personnes à l'aide de SSH pour se connecter à leur base de données MySQL. Vous devez vérifier deux endroits non pas 1 comme suggéré par d'autres réponses:
Workbench Édition → Préférences → Éditeur SQL → SGBD
Workbench Édition → Préférences → SSH → délais d'attente
Mon SSH par défaut délais d'attente ont été réglés très bas et à l'origine de certains (mais apparemment pas tous) de mes problèmes de délai d'attente. Après, n'oubliez pas de redémarrer MySQL Workbench!
Dernier, il peut être utile de contacter votre DB Admin et en leur demandant d'augmenter wait_timeout & interactive_timeout propriétés dans mysql par le biais de mon.conf + mysql restart ou de faire un ensemble global si le redémarrage de mysql n'est pas une option.
Espérons que cette aide!
vérifier sur
Espère que cette aide
Cela signifie généralement que vous avez des "incompatibilités avec la version actuelle de MySQL-Server", voir mysql_upgrade. J'ai rencontré ce même problème et l'a tout simplement eu à exécuter:
mysql_upgrade --mot de passe
La documentation indique que, "mysql_upgrade doit être exécutée à chaque fois que vous mettez à niveau MySQL".