Error 2006 en MySQL

Estándar

Al momento de llevar a producción una aplicación que acceda a bases de Datos MySQL algo que uno debe de esperar es lo inesperado, desde los problemas mas obvios a los errores mas pintorescos que se pueda imaginar, este es uno de los ultimos.

En el servidor MySQL el error “MySQL server has gone away (error 2006)” se le presentara cuando el tamaño de los datos a procesar exceda el maximo tamaño de paquete que pueda manejar o el servidor tome mas tiempo de lo permitido procesando una consulta en particular, en mi propia experiencia estos casos pueden presentarse cuando el MySQL server se esta ejecutando en una maquina con recursos mas bien modestos.

En cualquiera de los casos la solución de este error es relativamente sencilla, basta con aumentar el tamaño maximo de los paquetes de datos y/o el tiempo de espera para la respuesta del servidor, ambas opciones pueden modificarse desde “Options File” en la configuración del servidor MySQL, como se ve en las figuras 1 y 2.

Figura 1: Tamaño maximo permitido

Figura 1: Tamaño maximo permitido.

Figura 2: Tiempo de espera

Figura 2: Tiempo de espera

Figura 2: Tiempo de Espera.

El modificar estas opciones deberia corregir el problema por completo, pero no tendran ningun efecto hasta que reinicie el servidor MySQL de modo que arranque con las nuevas opciones, si esta en un entorno de producción debe tener cuidado al hacer esto, ya que si bien el reinicio es relativamente veloz, podria causar problemas a aplicaciónes que esten en uso en ese momento o interrumpir servicios, para reiniciar el servidor vaya a “Startup/Shutdown” y, como se ve en la figura 3, desde ahi podria apagar y volver a iniciar el servidor MySQL

Figura 3: Inicio / Apagado de MySQL

Figura 3: Inicio / Apagado de MySQL

Espero que esta entrada halla sido de utilidad y nos vemos en la proxima.

Referencias:

How to fix “MySQL server has gone away” (error 2006)