MySQL Workbench: comment maintenir la connexion active


160

Code d'erreur: 2013. Connexion perdue au serveur MySQL pendant la requête

J'utilise MySQL Workbench. De plus, j'exécute un lot d'inserts, environ 1000 lignes au total (ex. INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4Multiplié 1000 fois) Chaque lot prend un temps considérable, certains d'entre eux, plus de 600 secondes.

Comment puis-je configurer Workbench, pour continuer à travailler pendant la nuit, sans arrêter et sans perdre la connexion?

Réponses:


344

À partir de l' archive Internet désormais indisponible :

Allez dans Edition -> Préférences -> Éditeur SQL et définissez sur une valeur plus élevée ce paramètre: Délai de lecture de la connexion SGBD (en secondes). Par exemple: 86400.

Fermez et rouvrez MySQL Workbench. Tuez votre requête précédente qui est probablement en cours d'exécution et réexécutez la requête.


5
Il y a un bug dans toutes les versions de MySQL Workbench au-delà de 6.0.x sur Mac OS: stackoverflow.com/a/37890150/1014813
lepix

6
Cela a fonctionné pour moi, mais a dû redémarrer l'éditeur pour prendre effet.
cucu8

@lepix Ce bogue est-il corrigé?
posfan12

2
Un redémarrage de l'éditeur est nécessaire pour que cela prenne effet après la modification des valeurs.
philip oghenerobo balogun

46

Si vous utilisez une connexion de type «TCP / IP standard sur SSH», sous «Préférences» -> «Autres», il y a le champ «SSH KeepAlive». Il m'a fallu un certain temps pour le trouver :(


Pourquoi répétez-vous une réponse?
Jan Doggen

19
@JanDoggen Je ne vois aucune autre réponse indiquant où dans MySQL Workbench vous pouvez changer "SSH KeepAlive" qui par défaut est 0 => désactivé. Je ne vois qu'une réponse suggérant de modifier les paramètres ssh du serveur ...
Ljubitel

Merci de l'avoir signalé, car le paramètre ici remplace les fichiers de configuration du client ~ / .ssh / config et / etc / ssh / ssh_config C'est un must absolu pour le haut débit mobile.
Rodney

Pourriez-vous s'il vous plaît ajouter un exemple de valeur à utiliser dans votre réponse? Recommandez-vous quelque chose comme des 1800secondes?
AL

1
@AL cela dépend de votre contexte. Dans mon cas, la connexion SSH expirait dans 3 minutes (180 secondes), j'ai donc réglé mon SSH KeepAlive sur 30 secondes.
Ljubitel

15

Dans la version 5.2.47 (au moins sur mac), l'emplacement des préférences est: MySQLWorkbench-> Préférences-> SQL Editor

Ensuite, vous verrez les deux:

Intervalle de conservation de la connexion au SGBD (en secondes): délai de lecture de la connexion au SGBD (en secondes):

Ce dernier est l'endroit où vous voudrez augmenter la limite de 600 à quelque chose d'un peu plus.


J'ai réglé le délai de lecture de ma connexion SGBD à 86400 secondes, après environ 7200 secondes d'exécution d'une requête, j'obtiens toujours l'erreur 2013. Est-ce que quelqu'un sait quelque chose à ce sujet?
IndexOutOfDevelopersException

12

Dans mon cas, après avoir essayé de définir le délai d'expiration SSH sur la ligne de commande et dans les paramètres du serveur local. La solution @Ljubitel a résolu le problème de moi.

Un point à noter est que dans Workbench 6.2, le paramètre est maintenant sous avancé

entrez la description de l'image ici


2
Dans la version 6.3, Advanced a été renommé Autres.
Richard

2

Si vous utilisez une connexion de type "TCP / IP standard sur SSH", il se peut que ce soit le serveur ssh qui continue d'expirer, auquel cas vous devrez modifier les paramètres liés à TCPKeepAlive dans / etc / ssh / sshd_config sur votre serveur .


2

J'obtenais cette erreur 2013 et aucune des modifications de préférences ci-dessus n'a rien fait pour résoudre le problème. J'ai redémarré le service mysql et le problème a disparu.


2

OK - donc ce problème m'a rendu fou - v 6.3.6 sur Ubuntu Linux. Aucune des solutions ci-dessus n'a fonctionné pour moi. La connexion au serveur mysql de localhost fonctionnait toujours correctement. La connexion au serveur distant a toujours expiré - après environ 60 secondes, parfois après moins de temps, parfois plus.

Ce qui a finalement fonctionné pour moi, c'est la mise à niveau de Workbench vers la version 6.3.9 - plus de connexions interrompues.


1

J'ai eu un problème similaire qui a CREATE FULLTEXTexpiré après 30 secondes:

Erreur

La définition de l'intervalle de délai de lecture de la connexion au SGBD sur 0 sous Modifier -> Préférences -> SQL Editor a résolu le problème pour moi:

corriger l'erreur

De plus, je n'ai pas eu à redémarrer mysql workbench pour que cela fonctionne.


0

dans mysql-workbech 5.7 edit-> preference-> SSH -> SSH Connect timeout (pour la connexion SSH DB) entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.