MySQL Workbench: cómo mantener viva la conexión

160

Código de error: 2013. Se perdió la conexión al servidor MySQL durante la consulta

Estoy usando MySQL Workbench. Además, estoy ejecutando un lote de insertos, aproximadamente 1000 líneas en total (Ej. INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4Multiplicado 1000 veces) Cada lote lleva una cantidad considerable de tiempo, algunos de ellos, más de 600 segundos.

¿Cómo puedo configurar workbench para continuar trabajando durante la noche, sin parar y sin perder la conexión?

Omar
fuente

Respuestas:

344

Del archivo de internet ahora no disponible :

Vaya a Editar -> Preferencias -> Editor SQL y configure en un valor más alto este parámetro: tiempo de espera de lectura de conexión DBMS (en segundos). Por ejemplo: 86400.

Cierre y vuelva a abrir MySQL Workbench. Elimine su consulta anterior que probablemente se esté ejecutando y vuelva a ejecutarla.

Ignacio
fuente
55
Hay un error en todas las versiones de MySQL Workbench más allá de 6.0.x en Mac OS: stackoverflow.com/a/37890150/1014813
lepix
66
Esto funcionó para mí, pero tuve que reiniciar el editor para que surta efecto.
cucu8
@lepix ¿Se ha solucionado este error?
posfan12
2
Es necesario reiniciar el editor para que esto surta efecto después de cambiar los valores.
philip oghenerobo balogun
46

Si está utilizando un tipo de conexión "TCP / IP estándar sobre SSH", en "Preferencias" -> "Otros" hay un campo "SSH KeepAlive". Me llevó bastante tiempo encontrarlo :(

Ljubitel
fuente
¿Por qué estás repitiendo una respuesta?
Jan Doggen
19
@ JanDoggen No veo ninguna otra respuesta que indique que en MySQL Workbench puede cambiar "SSH KeepAlive", que por defecto es 0 => deshabilitado. Sólo veo una respuesta que sugieren que la configuración del servidor SSH de cambio ...
Ljubitel
Gracias por señalar esto, ya que la configuración aquí anula los archivos de configuración del cliente ~ / .ssh / config y / etc / ssh / ssh_config Esta es una necesidad absoluta para la banda ancha móvil.
Rodney
¿Podría agregar un ejemplo de valor para usar en su respuesta? ¿Recomiendas algo como 1800segundos?
AL
1
@AL depende de tu contexto. En mi caso, la conexión SSH expiraba en 3 minutos (180 segundos), así que configuré mi SSH KeepAlive en 30 segundos.
Ljubitel
15

En 5.2.47 (al menos en mac), la ubicación de las preferencias es: MySQLWorkbench-> Preferencias-> Editor SQL

Entonces verás ambos:

Intervalo de mantenimiento de conexión DBMS (en segundos): tiempo de espera de lectura de conexión DBMS (en segundos):

Este último es donde querrás subir el límite de 600 a algo un poco más.

jidulberger
fuente
He configurado el tiempo de espera de lectura de la conexión DBMS en 86400 segundos, después de unos 7200 segundos de ejecutar alguna consulta, sigo recibiendo el error 2013. ¿Alguien sabe algo al respecto?
IndexOutOfDevelopersException
12

En mi caso, después de intentar establecer el tiempo de espera de SSH en la línea de comandos y en la configuración del servidor local. La solución @Ljubitel resolvió el problema de mí.

Un punto a tener en cuenta es que en Workbench 6.2 la configuración ahora está avanzada

ingrese la descripción de la imagen aquí

Abelgo
fuente
2
En 6.3 Avanzado ha sido renombrado como Otros.
Richard
2

Si está utilizando un tipo de conexión "TCP / IP estándar sobre SSH", podría ser el servidor ssh el que agota el tiempo de espera, en cuyo caso, tendría que editar la configuración relacionada con TCPKeepAlive en / etc / ssh / sshd_config en su servidor .

Tuncay Göncüoğlu
fuente
2

Recibí este error 2013 y ninguno de los cambios de preferencia anteriores hizo nada para solucionar el problema. Reinicié el servicio mysql y el problema desapareció.

Neal Garrett
fuente
2

OK, este problema me ha vuelto loco: v 6.3.6 en Ubuntu Linux. Ninguna de las soluciones anteriores funcionó para mí. Conectarse al servidor localhost mysql anteriormente siempre funcionó bien. La conexión al servidor remoto siempre agotó el tiempo de espera, después de unos 60 segundos, a veces después de menos tiempo, a veces más.

Lo que finalmente funcionó para mí fue actualizar Workbench a 6.3.9, no más conexiones perdidas.

Chris Dav
fuente
1

Tuve un problema similar en el que se CREATE FULLTEXTagotó el tiempo de espera después de 30 segundos:

error

Establecer el intervalo de tiempo de espera de lectura de la conexión DBMS en 0 en Editar -> Preferencias -> Editor SQL solucionó el problema para mí:

arreglar error

Además, no tuve que reiniciar mysql workbench para que esto funcione.

kimbaudi
fuente
0

en mysql-workbech 5.7 edit-> preferencia-> SSH -> SSH Connect timeout (para conexión SSH DB) ingrese la descripción de la imagen aquí

software junior
fuente