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?

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.


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 :(


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.


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


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 .


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.


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.


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.


0

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.