Cómo arreglar la conexión perdida de MySQL

Cómo arreglar la conexión perdida de MySQL
En algunos casos, cuando se trabaja con bases de datos MySQL, puede encontrar el error "Error 2013: conexión perdida al servidor MySQL durante la consulta". Aunque esto puede ser frustrante cuando sucede, hay una razón relativamente simple por la que sucede y cómo puede solucionarlo.

¿Qué causa el error de "conexión perdida al servidor MySQL durante la consulta"??

Este tipo de error ocurre cuando la conexión entre un cliente y el servidor excede el valor de tiempo de espera especificado.

Por ejemplo, si tiene una consulta larga que lleva mucho tiempo completar la ejecución, MySQL deja la conexión al servidor.

Tomemos, por ejemplo, al exportar una base de datos grande, dependiendo del método de exportación y los datos que se exportarán, puede llevar mucho tiempo este proceso completar. Para evitar los problemas en el servidor, MySQL puede finalizar esta conexión antes de la finalización del proceso.

Otra causa común de este tipo de error son las operaciones de unión complejas.

Valor de tiempo de espera de MySQL Show

Como se mencionó, puede corregir este tipo de error simplemente aumentando las duraciones de tiempo de espera en el lado del servidor.

Los valores de tiempo de espera se almacenan en las variables Wait_TimeOut e Interactive_TimeOut. Podemos obtener los valores actuales como se muestra en las siguientes consultas:

MySQL> Mostrar variables globales como 'Interactive_TimeOut';

La salida resultante es la siguiente:

+---------------------+-------+
| Variable_name | Valor |
+---------------------+-------+
| interactive_timeout | 28800 |
+---------------------+-------+
1 fila en el set (0.00 seg)

El resultado dado muestra el valor predeterminado de la variable interactive_timeout. Este valor define la duración, en segundos, que el servidor espera una actividad en una sesión activa antes de terminarla.

También podemos obtener el valor de la variable Wait_TimeOut como:

MySQL> Mostrar variables globales como 'Wait_TimeOut';

Tabla resultante:

+---------------+-------+
| Variable_name | Valor |
+---------------+-------+
| Wait_timeout | 28800 |
+---------------+-------+
1 fila en el set (0.01 seg)

Esta variable establece la duración que el servidor MySQL espera una actividad en una sesión no interactiva.

Corrige el error de conexión de MySQL perdida actualizando las variables de tiempo de espera

Para corregir este tipo de error, podemos actualizar los valores de las dos variables discutidas anteriormente. Podemos ejecutar la consulta como se muestra en lo siguiente:

mysql> set @@ global.interactive_timeout = 43200;
Consulta bien, 0 filas afectadas (0.00 seg)

El comando anterior debe actualizar el valor de la variable interactive_timeout a 43200 segundos.

Para actualizar el parámetro Wait_TimeOut, ejecute el siguiente comando:

mysql> set @@ global.wait_timeout = 43200;
Consulta bien, 0 filas afectadas (0.00 seg)

Estás listo. Puedes intentar volver a ejecutar tu consulta cronometrada.

Conclusión

En esta publicación, discutimos la causa del error de conexión de conexión cuando trabajamos con MySQL y los pasos que puede tomar para solucionarlos. Sin embargo, tenga en cuenta sus consultas o segminelas en bloques eficientes.

Gracias por leer y feliz codificación!