¿Cómo resuelvo el error «El servidor de MySQL ha desaparecido» al conectarme a mi instancia de base de datos de MySQL de Amazon RDS?

4 minutos de lectura
0

He intentado consultar una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) que ejecuta MySQL y he recibido uno de los siguientes mensajes de error: «El servidor de MySQL ha desaparecido» o «Se perdió la conexión con el servidor durante la consulta.»

Breve descripción

Si el servidor agotó el tiempo de espera y cierra la conexión, podrá recibir uno de los siguientes errores:

  • CR_SERVER_GONE_ERROR: el cliente no pudo enviar una pregunta al servidor.
  • CR_SERVER_LOST: el cliente no recibió ningún error al escribir al servidor, pero no obtuvo una respuesta completa (o no obtuvo ninguna respuesta) a la pregunta.

Para obtener más información, consulte la documentación de MySQL sobre el servidor de MySQL ha desaparecido.

Resolución

Consulte las siguientes causas y soluciones relacionadas con estos errores:

  • Si una conexión está inactiva durante demasiado tiempo, es posible que la conexión del cliente finalice incorrectamente. Para resolver este problema, compruebe que los tiempos de espera de las aplicaciones sean más cortos que los de MySQL y asegúrese de que las aplicaciones cierren las conexiones inactivas.
  • Si se agota el tiempo de espera de una conexión, aumente los tiempos de espera de MySQL aumentando los parámetros wait_timeout e interactive_timeout mediante un grupo de parámetros personalizado. Para obtener más información, consulte Trabajar con los grupos de parámetros de base de datos.
  • Si la consulta que genera el error recupera un conjunto de datos grande, aumente el parámetro de tamaño max_allowed_packet mediante un grupo de parámetros personalizado. Para obtener más información, consulte Modificación de parámetros de un grupo de parámetros de base de datos.
    Nota: En el caso de Amazon Aurora, puede modificar los parámetros y configurarlos en un grupo de parámetros de clúster para aplicarlos a todo el nivel del clúster. Al configurarlos en un grupo de parámetros de base de datos, los parámetros solo se aplican a nivel de instancia. Para la base de datos de MySQL de Amazon Lightsail, debe comprobar si los parámetros están disponibles para su modificación antes de modificarlos mediante la interfaz de la línea de comandos (CLI). Para más información, consulte Actualización de los parámetros de la base de datos en Amazon Lightsail. Para la base de datos de MySQL local de instancia o servidor de Lightsail o MySQL de Amazon Elastic Compute Cloud (Amazon EC2), puede configurar el parámetro en el archivo de configuración. También puede configurar el xxx global, de forma similar a como se establece en un entorno de MySQL local normal.
  • Si el error se produce solo al devolver conjuntos de datos grandes, es posible que el cliente esté usando un valor de MTU grande de 9001. Para resolver este problema, reduzca el valor de MTU TCP/IP del cliente. Para información sobre cómo cambiar el valor de la MTU del cliente, consulte Configurar la MTU de una Instancia.
  • Si algún parámetro init_connect se establece en un valor que no permita procesar el parámetro, las conexiones de cliente asociadas pueden fallar. Asegúrese de que todos los parámetros init_connect se procesen correctamente. Asegúrese de que los usuarios tengan permisos para EJECUTAR cualquier procedimiento al que se haga referencia como parámetro init_connect.
  • Si todas las conexiones se interrumpen al mismo tiempo, confirme que las demás conexiones siguen funcionando cuando se produce este problema. Para resolver este problema, compruebe que la instancia de base de datos de MySQL no se bloquea ni falla al visualizar eventos de Amazon RDS y revisar sus registros de errores de MySQL.

Información relacionada

Conéctese a la Instancia de base de datos que ejecuta el motor de base de datos de MySQL

Modificación de una instancia de base de datos de Amazon RDS