Exporta datos de Cloud SQL

En esta página, se describe cómo exportar datos desde instancias de Cloud SQL o desde un servidor de base de datos no administrado por Cloud SQL.

Exportas los datos de Cloud SQL a un archivo de volcado de SQL o de SQL en Cloud Storage. Luego, puedes importar el archivo en otra base de datos de MySQL en Cloud SQL. También puedes descargar datos de Cloud Storage a un entorno local si deseas acceder a ellos de forma local.

Las exportaciones usan recursos de bases de datos, pero no interfieren en las operaciones normales de las bases de datos, a menos que la instancia no cuente con el aprovisionamiento suficiente.

Si quieres conocer las prácticas recomendadas a fin de exportar datos, consulta Prácticas recomendadas para la importación y la exportación de datos.

Las exportaciones de CSV y mysqldump se comportan de la misma manera en Cloud SQL como lo harían en cualquier otra base de datos MySQL. La base de datos no se bloquea durante la operación de exportación, a menos que uses la opción --master-data durante esta operación.

Comparación entre la exportación estándar y la exportación sin servidores

En una exportación estándar desde Cloud SQL, la exportación se ejecuta mientras la base de datos está en línea. Cuando las bases de datos que se exportan son más pequeñas, es probable que el efecto sea mínimo. Sin embargo, cuando hay objetos o bases de datos grandes, como BLOB en la base de datos, existe la posibilidad de que la exportación disminuya el rendimiento de la base de datos. Esto puede afectar el tiempo que lleva realizar consultas y operaciones de base de datos en la base de datos. Una vez que comienzas una exportación, no es posible detenerla si la base de datos comienza a responder con lentitud.

Para evitar respuestas lentas durante una exportación, puedes usar la exportación sin servidores. Con la exportación sin servidores, Cloud SQL crea una instancia temporal separada para descargar la operación de exportación. La descarga de la operación de exportación permite que las bases de datos en la instancia principal continúen con la entrega de consultas y realicen operaciones con la tasa de rendimiento habitual. Cuando se completa la exportación de datos, la instancia temporal se borra de forma automática.

Una exportación sin servidores tiene mayor duración que una estándar, ya que lleva tiempo crear la instancia temporal. Como mínimo, lleva más de cinco minutos, pero para bases de datos más grandes, puede tomar más. Antes de determinar qué tipo de exportación usar, considera el efecto en el tiempo y el rendimiento.

Puedes usar la exportación sin servidores en una instancia principal o una réplica de lectura.

Exporta datos de Cloud SQL a un archivo de volcado de SQL

Para crear un archivo de volcado de SQL, exporta datos de Cloud SQL a Cloud Storage. Una vez que el archivo esté en Cloud Storage, puedes importarlo a otra base de datos de Cloud SQL. También puedes descargar datos de Cloud Storage a un entorno local si deseas acceder a ellos de forma local.

Antes de comenzar

Asegúrate de haber configurado las funciones y los permisos requeridos.

Exporta datos a un archivo de volcado de SQL en Cloud Storage

Para exportar datos de una base de datos en una instancia de Cloud SQL a un archivo de volcado de SQL en un depósito de Cloud Storage, sigue estos pasos:

Console

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Haz clic en la instancia desde la que deseas exportar datos para abrir la página Descripción general.
  3. Haz clic en EXPORTAR en la barra de botones.
  4. En Formato de archivo, haz clic en SQL para crear un archivo de volcado de SQL.
  5. En Datos para exportar, haz clic en Una o más bases de datos en esta instancia a fin de exportar bases de datos específicas.
  6. Usa el menú desplegable para seleccionar las bases de datos desde las que deseas exportar.
  7. En Destino, selecciona Explorar a fin de buscar un bucket o una carpeta de Cloud Storage para tu exportación.
  8. Haz clic en Exportar para comenzar la exportación.

gcloud

  1. Si aún no lo hiciste, crea un bucket de Cloud Storage.

    Para obtener ayuda sobre cómo crear un depósito, consulta Crea depósitos de almacenamiento.

  2. Sube el archivo a tu depósito.

    Para obtener ayuda sobre cómo subir archivos a depósitos, consulta Sube objetos.

  3. Describe la instancia desde la que exportas:
      gcloud sql instances describe [INSTANCE_NAME]
      
  4. Copia el campo serviceAccountEmailAddress.
  5. Usa gsutil iam para otorgar la función de IAM storage.objectAdmin a la cuenta de servicio del depósito. Para obtener ayuda con la configuración de permisos de IAM, consulta Usa permisos de IAM.
  6. Exporta la base de datos:
      gcloud sql export sql [INSTANCE_NAME] gs://[BUCKET_NAME]/sqldumpfile.gz \
                                  --database=[DATABASE_NAME] --offload
      

    El comando export sql no contiene activadores ni procedimientos almacenados, pero contiene vistas. Para exportar activadores o procedimientos almacenados, usa la herramienta mysqldump.

    Para obtener más información sobre el uso del comando export sql, consulta la página de referencia del comando sql export sql.

  7. Si no necesitas retener la función de IAM que configuraste antes, revócala ahora.

REST v1beta4

  1. Crea un bucket para la exportación:
    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Este paso no es obligatorio, pero se recomienda para no habilitar el acceso a otros datos.

  2. Otórgale a tu instancia la función de IAM storage.objectAdmin para el depósito. Para obtener ayuda con la configuración de permisos de IAM, consulta Usa permisos de IAM.
  3. Exporta tu base de datos:

    Antes de usar cualquiera de los datos de solicitud siguientes, realiza los siguientes reemplazos:

    • project-id: El ID del proyecto
    • instance-id: El ID de la instancia
    • bucket_name: El nombre del depósito de Cloud Storage
    • path_to_dump_file: La ruta al archivo de volcado de SQL
    • database_name_1: El nombre de una base de datos dentro de la instancia de Cloud SQL
    • database_name_2: El nombre de una base de datos dentro de la instancia de Cloud SQL
    • offload: Habilita la exportación sin servidores. Configúralo como true para usar la exportación sin servidores.

    Método HTTP y URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    Cuerpo JSON de la solicitud:

    {
     "exportContext":
       {
          "fileType": "SQL",
          "uri": "gs://bucket_name/path_to_dump_file",
          "databases": ["database_name"]
          "offload": true | false
        }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la siguiente:

  4. Si no necesitas retener la función de IAM que configuraste antes, revócala ahora.
Si deseas obtener una lista completa de parámetros para esta solicitud, consulta la página instances:export.

Exporta datos de Cloud SQL a un archivo CSV

Puedes exportar tus datos en el formato CSV de modo que otras herramientas y entornos puedan usarlos. Las exportaciones se realizan a nivel de la base de datos. Durante una exportación de CSV, puedes especificar los esquemas que se exportarán. Todos los esquemas en el nivel de la base de datos son aptos para la exportación.

Antes de comenzar

Asegúrate de haber configurado las funciones y los permisos requeridos.

Exporta datos a un archivo CSV en Cloud Storage

Para exportar datos de una base de datos en una instancia de Cloud SQL a un archivo de volcado de SQL en un depósito de Cloud Storage, sigue estos pasos:

Console

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Haz clic en la instancia para abrir la página Descripción general.
  3. Haz clic en EXPORTAR.
  4. En Ubicación de la exportación de Cloud Storage, selecciona un depósito o una carpeta de Cloud Storage para la exportación.
  5. En el campo Nombre, proporciona un nombre para tu archivo de exportación y haz clic en Seleccionar.

    Puedes usar una extensión de archivo .gz para comprimir el archivo de exportación.

  6. Establece el Formato en CSV.
  7. Haz clic en Mostrar opciones avanzadas.
  8. En Base de datos, selecciona el nombre de la base de datos en el menú desplegable.
  9. En Consulta de SQL, ingresa una consulta de SQL para especificar la tabla desde la que deseas exportar los datos.

    Por ejemplo, para exportar todo el contenido de la tabla entries en la base de datos guestbook, deberías ingresar lo siguiente:

    SELECT * FROM guestbook.entries;
    En tu consulta, debes especificar una tabla de la base de datos especificada; no puedes exportar una base de datos completa en formato CSV.

  10. Haz clic en Exportar para comenzar la exportación.
  11. Se abrirá el cuadro de diálogo ¿Exportar base de datos? con un mensaje que indica que el proceso de exportación puede tomar una hora o más en el caso de las bases de datos grandes. Durante la exportación, la única operación que puedes realizar en la instancia es visualizar la información. No podrás detener la exportación una vez que comience. Si es un buen momento para comenzar una exportación, haz clic en EXPORTAR. De lo contrario, haz clic en CANCELAR.

gcloud

  1. Si aún no lo hiciste, crea un bucket de Cloud Storage.

    Para obtener ayuda sobre cómo crear un depósito, consulta Crea depósitos de almacenamiento.

  2. Sube el archivo a tu depósito.

    Para obtener ayuda sobre cómo subir archivos a depósitos, consulta Sube objetos.

  3. Describe la instancia desde la que exportas:
    gcloud sql instances describe [INSTANCE_NAME]
    
  4. Usa gsutil iam para otorgar la función de IAM storage.objectAdmin a la cuenta de servicio del bucket. Para obtener ayuda con la configuración de permisos de IAM, consulta Usa permisos de IAM.
  5. Exporta la base de datos:
    gcloud sql export csv [INSTANCE_NAME] gs://[BUCKET_NAME]/[FILE_NAME] \
                                --database=[DATABASE_NAME]
                                --offload
                                --query=[SELECT_QUERY]
    

    Para obtener información sobre el uso del comando export csv, consulta la página de referencia del comando sql export csv.

  6. Si no necesitas retener la función de IAM que configuraste antes, revócala ahora.

REST v1beta4

  1. Crea un bucket para la exportación:
    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Este paso no es obligatorio, pero se recomienda para no habilitar el acceso a otros datos.

  2. Otórgale a tu instancia la función de IAM storage.objectAdmin para el depósito. Para obtener ayuda con la configuración de permisos de IAM, consulta Usa permisos de IAM.
  3. Exporta tu base de datos:

    Antes de usar cualquiera de los datos de solicitud siguientes, realiza los siguientes reemplazos:

    • project-id: El ID del proyecto
    • instance-id: El ID de la instancia
    • bucket_name: El nombre del depósito de Cloud Storage
    • path_to_csv_file: La ruta de acceso al archivo CSV
    • database_name: El nombre de una base de datos dentro de la instancia de Cloud SQL
    • offload: Habilita la exportación sin servidores. Configúralo como true para usar la exportación sin servidores.
    • select_query: La consulta de SQL para la exportación

    Método HTTP y URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    Cuerpo JSON de la solicitud:

    {
     "exportContext":
       {
          "fileType": "CSV",
          "uri": "gs://bucket_name/path_to_csv_file",
          "databases": ["database_name"],
          "offload": true | false
          "csvExportOptions":
           {
               "selectQuery":"select_query"
           }
       }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la siguiente:

    Si tu consulta elegida especifica una base de datos, anula la propiedad databases.

  4. Si no necesitas retener la función de IAM que configuraste antes, revócala ahora.
A fin de obtener una lista completa de los parámetros para esta solicitud, consulta la página instances: export.

Exportar en formato CSV es equivalente a ejecutar la siguiente instrucción de SQL:

  SELECT [QUERY] INTO OUTFILE ... CHARACTER SET 'utf8mb4'
        FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
        ESCAPED BY '\\' LINES TERMINATED BY '\n'

A fin de obtener una lista completa de los parámetros para esta solicitud, consulta la página instances:export.

Exporta datos de tu servidor de MySQL local a un archivo CSV

Si deseas exportar una base de datos de MySQL que no está administrada por Cloud SQL a un archivo CSV para luego importarla a Cloud SQL, utiliza el siguiente comando:

mysql --host=[INSTANCE_IP] --user=[USER_NAME] --password [DATABASE] \
-e " SELECT * FROM [TABLE] INTO OUTFILE '[FILE_NAME]' CHARACTER SET 'utf8mb4'
     FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\"' "

Exporta datos con mysqldump

Si exportas datos desde una base de datos de MySQL local o desde una base de datos de Cloud SQL para importar a una base de datos de Cloud SQL, debes usar la herramienta mysqldump con las siguientes marcas:

  • --databases: Debes usar la opción --databases a fin de especificar una lista explícita de bases de datos para exportar, y esta lista no debe contener la base de datos del sistema mysql.
  • --hex-blob: Si tu base de datos contiene campos binarios, debes usar esta marca para asegurarte de que los campos binarios se importen de forma correcta.
  • --set-gtid-purged=OFF: La información GTID no se debe incluir en el archivo de volcado de SQL, ni el archivo de volcado de SQL debe inhabilitar el registro binario. (No se requiere para MySQL 5.5 o replicación externa).
  • --single-transactionReplica desde un servidor externo

Configuración estándar

En una línea de comandos, ejecuta mysqldump:

mysqldump --databases [DATABASE_NAME] -h [INSTANCE_IP] -u [USERNAME] -p \
--hex-blob --single-transaction --set-gtid-purged=OFF \
--default-character-set=utf8mb4 > [SQL_FILE].sql

Para obtener ayuda con mysqldump, consulta la referencia de mysqldump.

Replicación externa

Si deseas crear un archivo de volcado para usarlo en una configuración de servidor externo, consulta la sección sobre cómo replicar datos desde un servidor externo.

Funciones y permisos requeridos

En este procedimiento, se requiere que exportes un archivo a Cloud Storage. Para exportar datos a Cloud Storage, la cuenta de servicio de la instancia o el usuario deben tener la función de Editor de Cloud SQL o una función personalizada que incluya el permiso cloudsql.instances.export y, al menos, la función de IAM roles/storage.legacyBucketWriter.

Si la cuenta de servicio o el usuario también realizan operaciones de importación, puedes otorgar a la cuenta las funciones de IAM storage.objectAdmin establecidas en el proyecto.

Si deseas obtener ayuda con las funciones de IAM, consulta Cloud Identity and Access Management para Cloud Storage.

Puedes encontrar el nombre de la cuenta de servicio de la instancia en Google Cloud Console en la página Descripción general de la instancia. Puedes verificar las funciones del depósito de Cloud Storage mediante la herramienta de gsutil para inspeccionar el depósito:

gsutil iam get gs://[BUCKET_NAME]

Obtén más información sobre cómo usar IAM con depósitos.

Soluciona problemas

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
No se puede ver el estado de la operación. La interfaz de usuario solo muestra los estados que indican una finalización correcta o un error. Usa estos comandos de la base de datos para obtener más información.
408 Error (Timeout) durante la exportación. La exportación de SQL puede llevar mucho tiempo según el tamaño de la base de datos y el contenido de que se exporta. Usa varias exportaciones de archivos CSV para reducir el tamaño de cada operación.
La exportación de archivos CSV se completó, pero la exportación de SQL falló. Es más probable que la exportación de SQL tenga problemas de compatibilidad con Cloud SQL. Usa las exportaciones de archivos CSV para exportar solo lo que necesites.
La exportación está tomando demasiado tiempo. Cloud SQL no admite operaciones síncronas simultáneas. Usa la descarga de exportación. Más información.
La importación está tomando demasiado tiempo. Hay demasiadas conexiones activas que pueden interferir en las operaciones de importación. Cierra las conexiones sin usar o reinicia la instancia de Cloud SQL antes de comenzar una operación de importación.
Error 1412: Table definition has changed. La tabla cambió durante la exportación. Quita cualquier declaración de cambio de tabla de la operación de volcado.
La importación falla. El archivo exportado puede contener usuarios de la base de datos que aún no existen. Limpia la base de datos errónea antes de reintentar la importación. Crea los usuarios de la base de datos antes de realizar la importación.
Se interrumpió la conexión durante la operación de exportación. La consulta debe generar datos dentro de los primeros siete minutos. Prueba la consulta de forma manual. Más información.
Se produjo un error desconocido durante la exportación. Es posible que haya un problema con el ancho de banda. Asegúrate de que la instancia y el depósito de Cloud Storage estén en la misma región.
Deseas automatizar las exportaciones. Cloud SQL no proporciona una forma de automatizar las exportaciones. Compila tu propia canalización para llevar a cabo esta función. Más información.
ERROR_RDBMS: system error occurred. Permisos de Cloud Storage o tabla inexistente. Verifica los permisos o asegúrate de que la tabla exista.
Se produjo un error durante la importación: la tabla no existe. En este momento, no existe la tabla necesaria. Inhabilita FOREIGN_KEY_CHECKS al comienzo de la importación.
Mensaje de error: Access denied; you need (at least one of) the SUPER privilege(s) for this operation. Podría haber un evento, una vista, una función o un procedimiento en el archivo de volcado mediante superuser@localhost (como root@localhost). Esto no es compatible con Cloud SQL. Obtén más información sobre el uso de DEFINER en las posibles soluciones en Cloud SQL.
Mensaje de error: ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost'. Hay un DEFINER en el archivo de volcado que no existe en la base de datos. Obtén más información sobre el uso de DEFINER y las posibles soluciones en Cloud SQL.
Mensaje de error: Unknown table 'COLUMN_STATISTICS' in information_schema. Esto sucede si usas el objeto binario mysqldump de MySQL 8.0 para volcar datos de una base de datos de MySQL 5.7 y, luego, importarlos a una base de datos de MySQL 8.0. Si vuelcas los datos de una base de datos de MySQL 5.7 y, luego, los importas a una base de datos de MySQL 8.0, asegúrate de usar el objeto binario mysqldump de MySQL 5.7. Si usas el objeto binario mysqldump de MySQL 8.0, debes agregar la marca --column-statistics=0.

No se puede ver el estado de la operación

No puedes ver el estado de una operación en curso.

Posible problema

Google Cloud Console solo informa si la operación se completó de forma correcta o si falló una vez que esta finaliza. Esta herramienta no está diseñada para mostrar advertencias.

Solución

Conéctate a la base de datos y ejecuta SHOW WARNINGS.


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

Verás el mensaje de error 408 Error (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 exporta la base de datos completa, y es probable que esta operación tome más tiempo para completarse. El formato CSV te permite definir qué elementos de la base de datos incluir en la exportación.

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.


La exportación de archivos CSV se completó, pero la exportación de SQL falló

La exportación de archivos CSV se completó, pero la exportación de SQL falló.

Posible problema

Los formatos CSV y SQL se exportan de manera diferente. El formato SQL exporta la base de datos completa, y es probable que esta operación tome más tiempo para completarse. El formato CSV te permite definir qué elementos de la base de datos incluir en la exportación.

Solución

Usa las exportaciones de archivos CSV para exportar solo lo que necesites.


La exportación está tomando demasiado tiempo

La exportación está tardando demasiado y está bloqueando otras operaciones.

Posible problema

Cloud SQL no admite operaciones síncronas simultáneas.

Solución

Intenta exportar conjuntos de datos más pequeños por vez.


La importación está tomando demasiado tiempo

La importación está tardando demasiado y está bloqueando otras operaciones.

Posible problema

Hay demasiadas conexiones activas que pueden interferir en las operaciones de importación. Las conexiones consumen CPU y memoria, lo que limita los recursos disponibles.

Solución

Cierra las operaciones sin usar. Verifica el uso de la memoria y la CPU para asegurarte de que haya una gran cantidad de recursos disponibles. La mejor manera de garantizar la cantidad máxima de recursos para la operación de importación es reiniciar la instancia antes de comenzar la operación. Cuando se realiza un reinicio, sucede lo siguiente:

  • Se cierran todas las conexiones.
  • Finaliza cualquier tarea que pueda consumir recursos.


mysqldump: Error 1412: Table definition has changed

Verás el mensaje de error mysqldump: Error 1412: Table definition has changed, retry transaction when dumping the table.

Posible problema

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

Solución

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.


La importación falla

La importación falla cuando uno o más usuarios a los que se hace referencia en el archivo de volcado de SQL exportado no existen.

Posible problema

Antes de importar un archivo de volcado de SQL, deben existir todos los usuarios de la base de datos que poseen objetos o que recibieron permisos sobre los objetos en la base de datos de volcado. Si este no es el caso, el restablecimiento no puede volver a crear los objetos con la relación de propiedad o los permisos originales.

Solución

Limpia la base de datos errónea antes de reintentar la importación. Crea los usuarios de la base de datos antes de importar el archivo de volcado de SQL.


Se interrumpió la conexión durante la operación de exportación

Se interrumpió la conexión durante la operación de exportación.

Posible problema

Es posible que el tiempo de espera de la conexión a Cloud Storage se esté agotando porque la consulta que se ejecutó en la exportación no produjo ningún dato en los primeros siete minutos desde que se inició la exportación.

Solución

Para probar la consulta de forma manual, conéctate desde cualquier cliente y envía el resultado de tu consulta a STDOUT con el siguiente comando:

COPY (INSERT_YOUR_QUERY_HERE) TO STDOUT WITH ( FORMAT csv, DELIMITER ',', ENCODING 'UTF8', QUOTE '"', ESCAPE '"' ).

Este es el comportamiento previsto, ya que, cuando se inicia la exportación, se espera que el cliente comience a enviar datos de inmediato. Si se mantiene la conexión sin datos enviados, esta termina interrumpiéndose y, finalmente, la exportación falla, lo que deja a la operación en un estado incierto. Esto es lo que el siguiente mensaje de error de gcloud intenta comunicar:

operation is taking longer than expected.


Error desconocido durante la exportación

Verás el mensaje de error Unknown error mientras intentas exportar una base de datos a un depósito de Cloud Storage.

Posible problema

Es posible que la transferencia esté fallando debido a un problema de ancho de banda.

Solución

Es posible que la instancia de Cloud SQL esté ubicada en una región diferente a la del depósito 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. Verifica las regiones de la instancia y el depósito.


Deseas automatizar las exportaciones

Deseas automatizar las exportaciones.

Posible problema

Cloud SQL no proporciona una forma de automatizar las exportaciones.

Solución

Podrías compilar tu propio sistema de exportación automatizado mediante el uso de productos de Google Cloud, como Cloud Scheduler, Pub/Sub y Cloud Functions.


Se produjo el error del sistema ERROR_RDBMS

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

Posible problema

  • Es posible que el usuario no tenga todos los permisos de Cloud Storage que necesita.
  • 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 cómo configurar el 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 adecuados en el depósito.

Error durante la importación: la tabla no existe

Una operación de importación falla y se muestra un error que indica que una tabla no existe.

Posible problema

Las tablas pueden tener dependencias de clave externa en otras tablas y, según el orden de las operaciones, es posible que una o más de esas tablas aún no existan durante la operación de importación.

Solución

Agrega la siguiente línea al comienzo del archivo de volcado:

  SET FOREIGN_KEY_CHECKS=0;

Además, agrega esta línea al final del archivo de volcado:

  SET FOREIGN_KEY_CHECKS=1;

Por medio de configuración, se desactivan las verificaciones de integridad de los datos mientras la operación de importación está en curso y se las vuelve a activar después de que se cargan los datos. Esto no afecta la integridad de los datos en la base de datos, ya que se validaron durante la creación del archivo de volcado.


Se denegó el acceso porque necesitas privilegios SUPER para esta operación (al menos uno)

Verás el error Access denied; you need (at least one of) the SUPER privilege(s) for this operation.

Posible problema

Podría haber un evento, una vista, una función o un procedimiento en el archivo de volcado mediante superuser@localhost (como root@localhost). Esto no es compatible con Cloud SQL.

Solución

Consulta este documento sobre cómo importar una base de datos con cláusulas DEFINER.


Mensaje de error: ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost'

Verás el error ERROR 1045 (28000) at line {line_number}: Access denied for user 'cloudsqlimport'@'localhost'.

Posible problema

La causa raíz es que un usuario en el archivo de volcado con la cláusula DEFINER no existe en la base de datos y el mismo usuario hace referencia cruzada en las definiciones del objeto en la base de datos.

Solución

Consulta este documento sobre cómo importar una base de datos con cláusulas DEFINER en el archivo de volcado. Es posible que primero debas crear uno o más usuarios en la base de datos.


Mensaje de error: Tabla desconocida "COLUMN_STATISTICS" en information_schema

Ves el mensaje de error Unknown table 'COLUMN_STATISTICS' in information_schema.

Posible problema

Esto sucede si usas el objeto binario mysqldump de MySQL 8.0 para volcar datos de una base de datos de MySQL 5.7 y, luego, importarlos a una base de datos de MySQL 8.0.

Solución

Si vuelcas los datos de una base de datos de MySQL 5.7 y, luego, los importas a una base de datos de MySQL 8.0, asegúrate de usar el objeto binario mysqldump de MySQL 5.7. Si usas el objeto binario mysqldump de MySQL 8.0, debes agregar la marca --column-statistics=0.


¿Qué sigue?