MySQL Workbench: So halten Sie die Verbindung aufrecht

160

Fehlercode: 2013. Verbindung zum MySQL-Server während der Abfrage unterbrochen

Ich benutze MySQL Workbench. Außerdem führe ich einen Stapel von Einfügungen aus, insgesamt etwa 1000 Zeilen (z. INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4B. 1000-fach multipliziert). Jeder Stapel benötigt eine beträchtliche Zeit, einige davon mehr als 600 Sekunden.

Wie kann ich die Workbench so konfigurieren, dass sie über Nacht weiterarbeitet, ohne anzuhalten und ohne die Verbindung zu verlieren?

Omar
quelle

Antworten:

343

Aus dem jetzt nicht verfügbaren Internetarchiv:

Gehen Sie zu Bearbeiten -> Einstellungen -> SQL-Editor und setzen Sie diesen Parameter auf einen höheren Wert: Zeitüberschreitung beim Lesen der DBMS-Verbindung (in Sekunden). Zum Beispiel: 86400.

Schließen Sie die MySQL Workbench und öffnen Sie sie erneut. Beenden Sie Ihre zuvor ausgeführte Abfrage und führen Sie die Abfrage erneut aus.

Ignacio
quelle
5
Es gibt einen Fehler in allen Versionen von MySQL Workbench über 6.0.x unter Mac OS hinaus: stackoverflow.com/a/37890150/1014813
lepix
6
Dies funktionierte für mich, musste aber den Editor neu starten, um wirksam zu werden.
Cucu8
@lepix Ist dieser Fehler behoben?
Posfan12
2
Ein Neustart des Editors ist erforderlich, damit dies nach dem Ändern der Werte wirksam wird.
Philip Oghenerobo Balogun 13.
46

Wenn Sie eine Verbindung vom Typ "Standard TCP / IP über SSH" verwenden, befindet sich unter "Einstellungen" -> "Andere" das Feld "SSH KeepAlive". Ich habe eine ganze Weile gebraucht, um es zu finden :(

Ljubitel
quelle
Warum wiederholst du eine Antwort?
Jan Doggen
19
@JanDoggen Ich sehe keine andere Antwort, die darauf hinweist, dass Sie in MySQL Workbench "SSH KeepAlive" ändern können, das standardmäßig 0 => deaktiviert ist. Ich sehe nur eine Antwort, die vorschlägt, die SSH-Einstellungen des Servers zu ändern ...
Ljubitel
Vielen Dank, dass Sie darauf hingewiesen haben, da die Einstellung hier die Client-Konfigurationsdateien ~ / .ssh / config und / etc / ssh / ssh_config überschreibt. Dies ist ein absolutes Muss für mobiles Breitband.
Rodney
Könnten Sie bitte ein Wertbeispiel hinzufügen, das Sie in Ihrer Antwort verwenden können? Empfehlen Sie so etwas wie 1800Sekunden?
AL
1
@AL es hängt von deinem Kontext ab. In meinem Fall lief die SSH-Verbindung in 3 Minuten (180 Sekunden) ab, sodass ich mein SSH KeepAlive auf 30 Sekunden eingestellt habe.
Ljubitel
15

In 5.2.47 (zumindest auf einem Mac) lautet der Speicherort der Einstellungen: MySQLWorkbench-> Einstellungen-> SQL-Editor

Dann sehen Sie beide:

Keep-Alive-Intervall der DBMS-Verbindung (in Sekunden): Zeitüberschreitung beim Lesen der DBMS-Verbindung (in Sekunden):

In letzterem Fall möchten Sie das Limit von 600 auf etwas mehr erhöhen.

Jidulberger
quelle
Ich habe das Zeitlimit für das Lesen der DBMS-Verbindung auf 86400 Sekunden festgelegt. Nach ca. 7200 Sekunden Ausführen einer Abfrage wird immer noch der Fehler 2013 angezeigt. Weiß jemand etwas darüber?
IndexOutOfDevelopersException
12

In meinem Fall nach dem Versuch, das SSH-Zeitlimit in der Befehlszeile und in den lokalen Servereinstellungen festzulegen. @Ljubitel Lösung löste das Problem von mir.

Ein zu beachtender Punkt ist, dass in Workbench 6.2 die Einstellung jetzt unter "Erweitert" ist

Geben Sie hier die Bildbeschreibung ein

Abelgo
quelle
2
In 6.3 wurde Advanced in Andere umbenannt.
Richard
2

Wenn Sie eine Verbindung vom Typ "Standard TCP / IP over SSH" verwenden, kann es sein, dass der SSH-Server das Zeitlimit überschreitet. In diesem Fall müssten Sie die Einstellungen für TCPKeepAlive in / etc / ssh / sshd_config auf Ihrem Server bearbeiten .

Tuncay Göncüoğlu
quelle
2

Ich habe diesen Fehler 2013 erhalten und keine der oben genannten Einstellungsänderungen hat etwas zur Behebung des Problems beigetragen. Ich habe den MySQL-Dienst neu gestartet und das Problem ist behoben.

Neal Garrett
quelle
2

OK - dieses Problem hat mich verrückt gemacht - Version 6.3.6 unter Ubuntu Linux. Keine der oben genannten Lösungen hat bei mir funktioniert. Die Verbindung zum lokalen Host-MySQL-Server hat bisher immer gut funktioniert. Die Verbindung zum Remote-Server ist immer abgelaufen - nach etwa 60 Sekunden, manchmal nach weniger Zeit, manchmal nach mehr.

Was für mich schließlich funktionierte, war das Upgrade von Workbench auf 6.3.9 - keine unterbrochenen Verbindungen mehr.

Chris Dav
quelle
1

Ich hatte ein ähnliches Problem, bei dem CREATE FULLTEXTnach 30 Sekunden eine Zeitüberschreitung auftrat:

Error

Das Setzen des Zeitlimits für das Lesen der DBMS-Verbindung unter Bearbeiten -> Einstellungen -> SQL-Editor auf 0 hat das Problem für mich behoben:

Fehler beheben

Außerdem musste ich die MySQL-Workbench nicht neu starten, damit dies funktioniert.

Kimbaudi
quelle
0

in mysql-workbech 5.7 bearbeiten-> Einstellungen-> SSH -> SSH-Verbindungszeitlimit (für SSH-DB-Verbindung) Geben Sie hier die Bildbeschreibung ein

junior_software
quelle