Mensajes de error de Cloud SQL para MySQL

En esta página, se analizan algunos de los mensajes de error que se encuentran en Cloud SQL.

Descripción general

Los mensajes de error en Cloud SQL provienen de muchas fuentes y aparecen en muchos lugares. Algunos mensajes de error provienen de los motores de base de datos, otros del servicio de Cloud SQL, algunos de las aplicaciones cliente y otros se muestran mediante llamadas a la API de Administrador de Cloud SQL.

En esta página, se incluyen algunos de los errores más comunes en Cloud SQL. Si no encuentras el código de error o el mensaje que buscas aquí, puedes buscar material de referencia en las siguientes páginas:

Si no encuentras el material de referencia para el mensaje de error que ves, también puedes buscar en algunos de estos sitios en los que otros usuarios pueden contar una experiencia similar:

Errores desconocidos

En la siguiente tabla, se muestran algunos casos conocidos en los que puede ocurrir un Unknown Error y se muestran las soluciones específicas cuando corresponda. Sin embargo, esta no es la lista completa. Si no encuentras tu caso en la tabla, consulta la herramienta de seguimiento de errores pública para Cloud SQL. Si no encuentras el problema allí, envía un informe o revisa otras opciones de asistencia.

Operación Posible problema Posibles soluciones
Copia de seguridad Si ves esto mientras se realizan copias de seguridad automáticas o manuales, es probable que el disco de la instancia esté lleno. Si el tamaño del archivo temporal ocupa demasiado espacio, puedes reiniciar la instancia para quitar ese archivo y liberar espacio en el disco. De lo contrario, es posible que debas actualizar la instancia a un tamaño de disco más grande.
Clonación Esto puede ocurrir cuando hay escasez de recursos en la zona seleccionada. Prueba con otra zona de la región, o espera y vuelve a intentarlo más tarde.
Creación de una instancia
  • Esto puede ocurrir cuando intentas usar el mismo nombre de una instancia recién borrada.
  • También puede deberse a problemas de conectividad intermitente.
  • Los registros pueden mostrar que la API de Herramientas de redes de servicios no está habilitada para el proyecto.
  • También se detectó el error cuando intentas crear varias instancias en paralelo. Por ejemplo, las secuencias de comandos de Terraform permiten esto.
  • Los nombres de las instancias no pueden volver a usarse hasta una semana después de su eliminación.
  • En el caso de los problemas de conectividad intermitente, la única solución es volver a intentarlo.
  • Habilita la API de Herramientas de redes de servicios para el proyecto.
  • Las secuencias de comandos de creación de instancias paralelas solo tendrán éxito en la creación de una de las instancias. Modifica la secuencia de comandos para esperar hasta que cada operación de creación de instancia se complete antes de continuar con la siguiente.
Creación de una réplica Es probable que haya un error más específico en los archivos de registro. Inspecciona los registros en Cloud Logging para encontrar el error real. Si el error es set Service Networking service account as servicenetworking.serviceAgent role on consumer project, inhabilita y vuelve a habilitar la Service Networking API. Esta acción crea la cuenta de servicio que se necesita para continuar con el proceso.
Exportación Si ves esto mientras intentas exportar una base de datos a un bucket de Cloud Storage, es posible que la transferencia falle debido a un problema de ancho de banda. Es posible que la instancia de Cloud SQL esté ubicada en una región diferente a la del bucket de Cloud Storage. Leer y escribir datos de un continente a otro implica mucho uso de la red y puede causar problemas intermitentes como este.
Conmutación por error (heredada) Si usas la configuración heredada de la conmutación por error, esto puede ocurrir cuando la máquina de réplica de conmutación por error no es lo suficientemente grande para tolerar la conmutación. La mejor solución es migrar a la configuración actual de alta disponibilidad. De lo contrario, debes actualizar la réplica de conmutación por error a una máquina más grande.
Conmutación por error (automática) Una operación automática de conmutación por error puede producir este mensaje de error cuando el servicio detecta que la instancia principal aún responde. No hay nada que se pueda hacer en este caso. La conmutación por error no se producirá porque no es necesaria.
Importación El archivo de importación puede contener declaraciones que requieren la función de superusuario. Edita el archivo para quitar cualquier declaración que requiera la función de superusuario.

Cloud SQL también usa algunos objetos binarios de terceros (por ejemplo, mysqld), que pueden generar mensajes de error desconocido. Esos errores son internos de los objetos binarios de terceros y están fuera del alcance de Cloud SQL. Sin embargo, a veces se puede encontrar un error más específico en los archivos de registro de Cloud SQL casi al mismo tiempo.

Además, a veces lo desconocido es un código de error. En este caso, el mensaje completo puede ser Unknown Error Code.

Otros errores

Conexión anulada

Verás el mensaje de error Got an error reading communication packets o Aborted connection xxx to db: DB_NAME.

Posible problema

El error Aborted connection indica que una aplicación no finaliza las conexiones correctamente.

Posible solución

Verifica estas condiciones:

  • La aplicación no llamó a mysql_close() antes de cerrarse.
  • Errores de comunicación
  • Es posible que la aplicación haya estado suspendida más tiempo que la cantidad de segundos especificados en wait_timeout o interactive_timeout sin emitir ninguna solicitud al servidor. Consulta la sección 5.1.7, Server System Variables (Variables del sistema del servidor)
  • La aplicación se finalizó de manera abrupta en medio de una transferencia de datos.
  • El valor de la variable max_allowed_packet puede ser demasiado pequeño o las consultas requieren más memoria que la asignada para mysqld. Para resolverlo, aumenta la marca max_allowed_packet a un número mucho mayor.


Solicitud incorrecta

Verás el mensaje de error HTTP Error 400 Bad Request.

El problema podría ser el siguiente:

Una solicitud incorrecta puede tener muchas causas. Un argumento ilegal es una de las más comunes. En este caso la solicitud usa el argumento incorrecto o un valor no válido para el argumento. En los otros casos, el mensaje de error podría incluir una sugerencia útil para identificar la causa del error.

Solución

En el caso del argumento ilegal, verifica la solicitud para asegurarte de que cada argumento esté permitido y que cada valor sea válido. Con todas las demás causas, verifica los archivos de registro para ver si hay más información disponible.


Se denegó el acceso al usuario

Verás el mensaje de error Access denied for user 'XXX'@'XXX' (using password: XXX).

El problema podría ser el siguiente:

Puede haber varias causas, entre ellas:

  • El nombre de usuario o la contraseña son incorrectos.
  • El usuario se conecta desde una URL que no es @XXX.
  • El usuario no tiene los privilegios correctos para la base de datos a la que intenta conectarse.

Puedes intentar lo siguiente:

  • Verifica el nombre de usuario y la contraseña correspondiente.
  • Verifica el origen de la conexión para ver si coincide con la URL en la que el usuario tiene privilegios de acceso.
  • Verifica los privilegios de otorgamiento del usuario en la base de datos.

El disco está lleno

Verás el mensaje de error Disk is full o notarás que te quedaste sin espacio en el disco.

El problema podría ser el siguiente:

El tamaño del disco de la instancia principal puede llenarse durante la creación de una réplica.

Solución

Edita la instancia principal para actualizarla a un tamaño de disco más grande.


Habilitar una marca hace fallar la instancia

Después de habilitar una marca, las instancias ejecutan bucles de fallas.

El problema podría ser el siguiente:

Se sabe que configurar el valor de la marca max_connections demasiado alto causa este error.

Solución

Configurar el valor de la marca max_connections demasiado alto puede ocasionar que la instancia no admita todas las conexiones, lo que genera fallas de Error 1040: Too many connections y de señal de monitoreo de funcionamiento. Comunícate con la asistencia al cliente para solicitar la eliminación de una marca seguida de una hard drain. Esto obliga a la instancia a reiniciarse en un host diferente con una configuración nueva, sin la marca ni la configuración.


Error grave durante la actualización

Verás el mensaje de error ERROR_INTERNAL_FATAL cuando actualices recursos en una instancia.

El problema podría ser el siguiente:

Puede haber muchas causas.

Solución

Es posible que los registros revelen más información. De lo contrario, comunícate con la asistencia al cliente para forzar la recreación de la instancia.


Error de HTTP 408: (Tiempo de espera) durante la exportación

Verás el mensaje de error HTTP Error 408 (Timeout) mientras realizas un trabajo de exportación en Cloud SQL.

Posible problema

Los formatos CSV y SQL se exportan de manera diferente. El formato SQL incluye la base de datos completa y es probable que tarde más en completarse. Con CSV, puedes especificar qué elementos de la base de datos incluir en la operación de exportación.

Posible solución

Usa el formato CSV y ejecuta varios trabajos de exportación más pequeños a fin de reducir el tamaño y la duración de cada operación.


Error de HTTP 409

Verás el mensaje de error HTTP Error 409 in a Terraform script o Error 409 Operation failed because another operation was already in progress.

El problema podría ser el siguiente:

  1. Verifica la secuencia de comandos de Terraform. La secuencia de comandos debe esperar a que se complete cada operación antes de comenzar la siguiente.
  2. HTTP Error 409: Operation failed because another operation was already in progress.
  3. Intentas usar el mismo nombre de una instancia que se borró hace poco en una instancia nueva, antes del final del período de espera para la reutilización del nombre.

Puedes intentar lo siguiente:

  1. Si ejecutas una secuencia de comandos de Terraform, detén la ejecución hasta que se complete cada operación de instancia. Haz que la secuencia de comandos consulte, y espera hasta que se muestre 200 para el ID de la operación anterior. De lo contrario, espera a que finalice la operación en ejecución.
  2. Después de borrar una instancia, debes esperar una semana antes de volver a usar el mismo nombre para una instancia nueva.

No se puede borrar la instancia

Mensaje de error

Aparece el mensaje de error ERROR: (gcloud.sql.instances.delete) HTTP Error 409: The instance or operation is not in an appropriate state to handle the request o la instancia tiene un estado de marca INSTANCE_RISKY_FLAG_CONFIG.

El problema podría ser el siguiente:

  1. Another operation is in progress.
  2. La advertencia INSTANCE_RISKY_FLAG_CONFIG se activa cada vez que se usa al menos una marca BETA.

Solución

  1. Las operaciones de Cloud SQL no se ejecutan en simultáneo. Espera a que se complete la otra operación.
  2. Quita la configuración de marca riesgosa y reinicia la instancia.

Error interno

Verás el mensaje de error {"ResourceType":"sqladmin.v1beta4.instance", "ResourceErrorCode":"INTERNAL_ERROR","ResourceErrorMessage":null}.

El problema podría ser el siguiente:

Es posible que al proyecto de servicio le falte la cuenta de servicio de red de servicio requerida para esta función.

Solución

Para reparar los permisos del servicio, inhabilita Service Networking API, espera cinco minutos y vuelve a habilitarla.


Error 1040 de MySQL

Verás el mensaje de error MySQL Error 1040: Too many connections.

Posible problema

Si se establece un valor demasiado alto para la marca max_connections, es posible que se genere este error.

Solución

Comunícate con la asistencia al cliente para solicitar la eliminación de una marca seguida de una operación de hard drain. Esto obliga a la instancia a reiniciarse en un host diferente con una configuración nueva, sin la marca ni la configuración.


No se pudo asociar la red

Verás el mensaje de error Network association failed due to the following error: set Service Networking service account as servicenetworking.serviceAgent role on consumer project.

El problema podría ser el siguiente:

La Service Networking API no está habilitada en el proyecto.

Solución

Habilita la Service Networking API en tu proyecto. Si ves este error cuando intentas asignar una dirección IP privada a una instancia de Cloud SQL y usas una VPC compartida, también debes habilitar la Service Networking API para el proyecto host.


Sin autorización para conectarte

Verás el mensaje de error Unauthorized to connect.

Posible problema

Puede haber muchas causas, ya que la autorización ocurre en muchos niveles.

  • A nivel de la base de datos, el usuario de la base de datos debe existir y su contraseña debe coincidir.
  • A nivel del proyecto, es posible que el usuario no tenga los permisos de IAM correctos, incluidos los permisos serviceusage.services.use o cloudsql.instances.connect.
  • A nivel de la red, si la instancia de Cloud SQL usa una IP pública, la IP de origen de la conexión debe estar en una red autorizada.

Puedes intentar lo siguiente:

  • Asegúrate de que el usuario exista y su contraseña coincida.
  • Asigna la función Service Usage Consumer a la cuenta de usuario. Esta función incluye el permiso serviceusage.services.use.
  • Si usas una IP pública, asegúrate de que la IP de origen esté en una red autorizada.

La operación no es válida para esta instancia

Verás el mensaje de error HTTP Error 400: This operation isn't valid for this instance de una llamada de la API a instances.restoreBackup.

El problema podría ser el siguiente:

No puedes restaurar desde una copia de seguridad a una instancia con un tamaño de almacenamiento (XX GB) menor que el tamaño de la copia de seguridad (YY GB).

Solución

Edita la instancia de destino para aumentar su tamaño de almacenamiento.


Sin memoria durante la copia de seguridad automática

Verás el mensaje de error [ERROR] InnoDB: Write to file ./ibtmp1 failed at offset XXXX, YYYY bytes should have been written, only 0 were written.

Posible problema

La instancia alcanzó un límite estricto cuando se realizó una copia de seguridad automática.

Solución

Comprueba que el SO y el sistema de archivos admitan archivos de este tamaño. Verifica que el disco no esté lleno o que no haya cuota de disco. Puedes solicitar un aumento de tus cuotas desde Google Cloud Console o editar la instancia para actualizarla a un tamaño de disco más grande.


Se superó la cuota

Verás el mensaje de error RESOURCE_EXHAUSTED: Quota exceeded o GLOBAL_ADDRESSES_QUOTA_EXCEEDED.

Posible problema

Alcanzaste el límite de tu cuota diaria o por minuto. Revisa las cuotas y límites de Cloud SQL.

Solución

Solicita un aumento de tus cuotas en Google Cloud Console.


Las ranuras de conexión restantes están reservadas

Verás el mensaje de error FATAL: remaining connection slots are reserved for non-replication superuser connections.

El problema podría ser el siguiente:

Se alcanzó la cantidad máxima de conexiones permitidas.

Solución

Aumenta la marca max_connections. Consulta Configura marcas de base de datos.


A la solicitud le falta una clave de API válida

Verás el mensaje de error HTTP Error 403: PERMISSION_DENIED. The request is missing a valid API key.

El problema podría ser el siguiente:

Es posible que no tengas un archivo JSON de clave de cuenta de servicio válido o que no esté almacenado en la ubicación esperada.

Puedes intentar lo siguiente:

Verifica que tengas un archivo JSON de clave de cuenta de servicio válido en la ubicación almacenada en la variable de entorno GOOGLE_APPLICATION_CREDENTIALS y que la variable apunte a la ubicación correcta.


Ocurrió un error en el sistema

Verás el mensaje de error [ERROR_RDBMS] system error occurred.

El problema podría ser el siguiente:

  1. Es posible que el usuario no tenga todos los permisos de Cloud Storage que necesita.
  2. Es posible que la tabla de la base de datos no exista.

Solución

  1. Verifica que tengas al menos los permisos WRITER en el depósito y los permisos READER en el archivo de exportación. Para obtener más información sobre la configuración del control de acceso en Cloud Storage, consulta Crea y administra listas de control de acceso.
  2. Asegúrate de que la tabla exista. Si la tabla existe, confirma que tienes los permisos correctos en el depósito de almacenamiento.

La definición de la tabla ha cambiado

Verás el mensaje de error Table definition has changed, please retry transaction when dumping table.

El problema podría ser el siguiente:

Durante el proceso de exportación, se produjo un cambio en la tabla.

Puedes intentar lo siguiente:

La transacción de volcado puede fallar si usas las siguientes declaraciones durante la operación de exportación:

  • ALTER TABLE
  • CREATE TABLE
  • DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE
Quita cualquiera de estas declaraciones de la operación de volcado.


El tamaño del archivo temporal excede el temp_file_limit

Verás el mensaje de error Temporary file size exceeds temp_file_limit.

El problema podría ser el siguiente:

La marca temp_file_limit es demasiado baja para el uso de la base de datos.

Puedes intentar lo siguiente:

Aumenta el tamaño de temp_file_limit. Consulta Configura marcas de base de datos.