2013-03-29 15 views
84

Codice errore: 2013. perso la connessione al server MySQL nel corso di queryMySQL Workbench: Come mantenere la connessione attiva

Sto usando MySQL Workbench. Inoltre, sto eseguendo una serie di inserti, circa 1000 righe in totale (ad esempio INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4 moltiplicato 1000 volte). Ogni lotto richiede una notevole quantità di tempo, alcuni di essi, oltre 600 secondi.

Come posso configurare il workbench, per continuare a lavorare durante la notte, senza fermarsi e senza perdere la connessione?

risposta

178

Dall'archivio unavailable internet ora:

andare in Modifica -> Preferenze -> Editor SQL e impostare un valore più alto di questo parametro: connessione DBMS leggere il timeout (in secondi). Ad esempio: 86400.

Chiudere e riaprire MySQL Workbench. Elimina la query precedente che probabilmente è in esecuzione ed esegui nuovamente la query.

+2

C'è un bug in tutte le versioni di MySQL Workbench oltre 6.0.x su Mac OS: http: // stackoverflow.it/a/37890150/1014813 – lepix

+1

Questo ha funzionato per me, ma ha dovuto riavviare l'editor per avere effetto. – cucu8

+0

@lepix Questo problema è stato risolto? – posfan12

9

In 5.2.47 (almeno su Mac), passare la posizione delle preferenze è: MySQLWorkbench-> Preferenze> Editor SQL

Poi vedrete entrambi: connessione

DBMS intervallo keep-alive (in secondi): Connessione DBMS timeout in lettura (in secondi):

Quest'ultimo è il punto in cui si desidera aumentare il limite da 600 a qualcosa di un po 'di più.

+0

Ho impostato il timeout di lettura della mia connessione DBMS a 86400 di secondo, dopo circa 7200 secondi di esecuzione di alcune query ricevo ancora l'errore 2013. Qualcuno ne sa qualcosa? – wanttobeprofessional

2

Se si utilizza un tipo di connessione "Standard TCP/IP su SSH", potrebbe essere il server ssh che mantiene il timeout, nel qual caso bisognerebbe modificare le impostazioni relative a TCPKeepAlive in/etc/ssh/sshd_config sul tuo server.

2

Stavo ricevendo questo errore 2013 e nessuna delle modifiche alle preferenze precedenti ha fatto qualcosa per risolvere il problema. Ho riavviato il servizio mysql e il problema è andato via.

31

Se si utilizza un tipo di connessione "Standard TCP/IP su SSH", in "Preferenze" -> "Altri" è presente il campo "SSH KeepAlive". Mi c'è voluto un bel po 'per trovarlo :(

+0

Perché stai ripetendo una risposta? –

+12

@JanDoggen Non vedo altra risposta che indichi dove in MySQL Workbench puoi cambiare "SSH KeepAlive" che di default è 0 => disabilitato. Vedo solo una risposta che suggerisce di cambiare le impostazioni ssh del server ... – Ljubitel

+0

Questa è la vera risposta proprio qui. È esattamente quello che stavo cercando, grazie. –

7

Nel mio caso dopo aver cercato di impostare il timeout SSH sulla riga di comando e nelle impostazioni del server locale. Soluzione @Ljubitel ha risolto il problema mi formare.

One punto da notare è che nel Workbench 6.2 l'impostazione è ora sotto avanzata

enter image description here

+2

In 6.3 Avanzate è stato rinominato in Altri. – Richard

2

OK - quindi questo problema mi è stato facendo impazzire - v. 6.3.6 su Ubuntu Linux Nessuna delle soluzioni di cui sopra ha funzionato per me Il collegamento al server mysql localhost in precedenza funzionava sempre bene. Connessione al server remoto sempre ora fuori - dopo circa 60 secondi, a volte dopo meno tempo, a volte di più.

Che cosa ha funzionato per me è stato l'aggiornamento di Workbench a 6.3.9 - non più connessioni interrotte.

Problemi correlati