Migración de la base de datos de MySQL mediante importación y exportación

SE APLICA A: Azure Database for MySQL: Servidor único

En este artículo se explican dos métodos habituales para importar y exportar datos a un servidor de Azure Database for MySQL mediante el uso de MySQL Workbench.

Para obtener instrucciones de migración detalladas y completas, consulte los recursos de la guía de migración.

Para otros escenarios de migración, consulte la Guía de migración de Azure Database.

Requisitos previos

Antes de empezar a migrar la base de datos MySQL, debe hacer lo siguiente:

Creación de una base de datos en el servidor de Azure Database for MySQL

Cree una base de datos vacía en el servidor de Azure Database for MySQL mediante MySQL Workbench, Toad o Navicat. La base de datos puede tener el mismo nombre que la base de datos que contiene los datos volcados, o puede crear una base de datos con un nombre diferente.

Para conectarse, haga lo siguiente:

  1. En Azure Portal, busque la información de conexión en el panel Información general de Azure Database for MySQL.

    Captura de pantalla de la información de conexión del servidor de Azure Database for MySQL en Azure Portal

  2. Agregue la información de conexión a MySQL Workbench.

    Captura de pantalla de la cadena de conexión de MySQL Workbench.

Determinación de cuándo utilizar las técnicas de importación y exportación

Sugerencia

En el caso de los escenarios en los que quiera volcar y restaurar toda la base de datos, use el enfoque volcado y restauración en su lugar.

En los siguientes escenarios, use herramientas de MySQL para importar y exportar bases de datos en su base de datos MySQL. Para otras herramientas, vaya a la sección "Métodos de migración" (página 22) de la Guía de migración de MySQL a Azure Database.

  • Cuando deba elegir de forma selectiva unas cuantas tablas para importar desde una base de datos MySQL existente en Azure MySQL Database, es mejor usar la técnica de importación y exportación. Con ello, podrá omitir todas las tablas que no sean necesarias de la migración para ahorrar tiempo y recursos. Por ejemplo, use el modificador --include-tables o --exclude-tables con mysqlpump y el modificador --tables con mysqldump.
  • Si va a mover objetos de base de datos que no sean tablas, deberá crearlos explícitamente. Incluya restricciones (clave principal, clave externa e índices), vistas, funciones, procedimientos, desencadenadores y cualquier otro objeto de base de datos que desee migrar.
  • Si va a migrar datos desde orígenes de datos externos que no sean una base de datos de MySQL, cree archivos planos e impórtelos mediante el uso de mysqlimport.

Importante

El servidor único y el servidor flexible admiten solo el motor de almacenamiento InnoDB. Asegúrese de que todas las tablas de la base de datos usen el motor de almacenamiento InnoDB al cargar datos en Azure Database for MySQL.

Si la base de datos de origen usa otro motor de almacenamiento, realice la conversión al motor InnoDB antes de migrar la base de datos. Por ejemplo, si tiene WordPress o una aplicación web que utiliza el motor MyISAM, convierta primero las tablas migrando los datos en tablas de InnoDB. Use la cláusula ENGINE=INNODB para configurar el motor para crear una nueva tabla y luego transfiera los datos a la tabla compatible antes de la migración.

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

Recomendaciones de rendimiento para la importación y exportación

Para un rendimiento óptimo de importación y exportación de datos, se recomienda hacer lo siguiente:

  • Cree los índices agrupados y las claves principales antes de cargar los datos. Cargue los datos en el orden de la clave principal.
  • Retrase la creación de índices secundarios hasta después de que se hayan cargado los datos.
  • Deshabilite las restricciones de clave externa antes de cargar los datos. El hecho de deshabilitar las comprobaciones de las claves externas favorece un aumento significativo del rendimiento. Habilite las restricciones y compruebe los datos después de la carga para garantizar la integridad referencial.
  • Cargue los datos en paralelo. Evite demasiado paralelismo ya que podría provocar que se alcanzara un límite de recursos, y supervise los recursos mediante las métricas disponibles en Azure Portal.
  • Use tablas con particiones cuando sea necesario.

Importación y exportación de datos con MySQL Workbench

Hay dos maneras de exportar e importar datos en MySQL Workbench: desde el menú contextual del examinador de objetos o desde el panel Navegador. Cada método sirve para un propósito diferente.

Nota

Si va a agregar una conexión a un servidor único o flexible de MySQL en MySQL Workbench, haga lo siguiente:

  • Si se trata de un servidor único de MySQL, asegúrese de que el nombre de usuario tiene el formato <username@servername> .
  • Si es un servidor flexible de MySQL, use solo <username> . Si usa <username@servername> para la conexión, se producirá un error.

Ejecución de los asistentes para la exportación e importación de datos de tablas mediante el menú contextual del examinador de objetos

Captura de pantalla de los comandos del Asistente para exportar e importar de MySQL Workbench en el menú contextual del examinador de objetos

Los asistentes para datos de tablas admiten operaciones de importación y exportación mediante archivos CSV y JSON. Los asistentes incluyen varias opciones de configuración, como separadores, selección de columnas y selección de codificación. Puede ejecutar cada asistente en servidores locales o servidores de MySQL conectados de forma remota. La acción de importación incluye la tabla, la columna y la asignación de tipos.

Para acceder a estos asistentes desde el menú contextual del examinador de objetos, haga clic con el botón derecho en una tabla y seleccione Asistente para exportación de datos de tabla o Asistente para importación de datos de tabla.

Asistente para exportación de datos de tabla

Para exportar una tabla a un archivo CSV:

  1. Haga clic en con el botón derecho en la tabla de la base de datos que se va a exportar.
  2. Seleccione Table Data Export Wizard (Asistente para exportación de datos de tabla). Seleccione las columnas que se exportarán, el desplazamiento de fila (si lo hubiera) y el número (si lo hubiera).
  3. En el panel Select data for export (Seleccionar datos para exportar), seleccione Siguiente. Seleccione la ruta de acceso del archivo y el tipo de archivo: CSV o JSON. Seleccione también el separador de línea, el método de inclusión de cadenas y el separador de campos.
  4. En la página Select output file location (Seleccionar ubicación del archivo de salida), seleccione Siguiente.
  5. En el panel Exportar datos, seleccione Siguiente.

Asistente para importación de datos de tabla

Para importar una tabla desde un archivo CSV:

  1. Haga clic con el botón derecho en la tabla de la base de datos que se va a importar.
  2. Busque y seleccione el archivo CSV que desea importar y, a continuación, seleccione Siguiente.
  3. Seleccione la tabla de destino (nueva o existente), active o desactive la casilla Truncate table before import (Truncar tabla antes de la importación) y, después, seleccione Siguiente.
  4. Seleccione la codificación y las columnas que desea importar y, después, seleccione Siguiente.
  5. En el panel Importar datos, seleccione Siguiente. El asistente importará los datos.

Ejecución de asistentes para la exportación e importación de datos de SQL desde el panel Navegador

Use un Asistente para exportar o importar datos de SQL generados a partir de MySQL Workbench o con el comando mysqldump. Puede acceder a los asistentes desde el panel del Navegador o puede seleccionar Servidor en el menú principal.

Exportar datos

Captura de pantalla de cómo se usa el panel Navegador para mostrar el panel Exportación de datos en MySQL Workbench

Puede usar el panel Exportación de datos para exportar los datos de MySQL.

  1. En MySQL Workbench, en el panel Navegador, seleccione Exportación de datos.

  2. En el panel Exportación de datos, seleccione cada esquema que desee exportar.

    Para cada esquema, puede seleccionar tablas u objetos de esquema específicos para exportarlos. Entre las opciones de configuración se incluye la exportación a una carpeta de proyecto o un archivo independiente de SQL, el volcado de rutinas y eventos almacenados o la omisión de datos de tabla.

    También puede usar Export a Result Set (Exportar un conjunto de resultados) para exportar un resultado concreto establecido en el editor de SQL a otro formato como CSV, JSON, HTML y XML.

  3. Seleccione los objetos de base de datos que desea exportar y configure las opciones relacionadas.

  4. Seleccione Actualizar para cargar los objetos actuales.

  5. También puede seleccionar Opciones avanzadas en la esquina superior derecha para mejorar la operación de exportación. Por ejemplo, agregue bloqueos de tabla, use instrucciones replace en lugar de insert y entrecomille los identificadores con caracteres de acento grave.

  6. Seleccione Iniciar exportación para comenzar el proceso de exportación.

Importar datos

Captura de pantalla de cómo se usa el panel Navegador para mostrar el panel Importación de datos en MySQL Workbench

Puede usar el panel Importación de datos para importar o restaurar los datos exportados con la operación de exportación de datos o con el comando mysqldump.

  1. En MySQL Workbench, en el panel Navegador, seleccione Data Export/Restore (Restauración/Exportación de datos).
  2. Seleccione la carpeta de proyecto o el archivo SQL independiente, elija el esquema en el que se importarán los datos o seleccione el botón Nuevo para definir un nuevo esquema.
  3. Seleccione Iniciar importación para comenzar el proceso de importación.

Pasos siguientes