Migración de la base de datos de Azure Database for MySQL: servidor flexible mediante importación y exportación
SE APLICA A: Azure Database for MySQL (servidor único) Azure Database for MySQL (servidor flexible)
Importante
El servidor único de Azure Database for MySQL está en proceso de retirada. Es muy recomendable actualizar al servidor flexible de Azure Database for MySQL. Para obtener más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué sucede con el servidor único de Azure Database for MySQL?
Este artículo explica dos enfoques comunes para importar y exportar datos a una instancia de servidor flexible de Azure Database for MySQL utilizando 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 instancia de servidor flexible de Azure Database for MySQL mediante Azure Portal.
- Descargue e instale MySQL Workbench u otra herramienta de MySQL de terceros para importar y exportar.
Creación de una base de datos en la instancia de servidor flexible de Azure Database for MySQL
Cree una base de datos vacía en la instancia del servidor flexible de Azure Database for MySQL utilizando 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:
En Azure portal, busque la información de conexión en el panel Información general de su instancia de servidor flexible de Azure Database for MySQL.
Agregue la información de conexión a 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 necesite elegir selectivamente unas cuantas tablas para importarlas desde una base de datos MySQL existente a su base de datos de servidor flexible de Azure Database for MySQL, lo mejor es utilizar 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
Tanto el servidor único de Azure Database for MySQL como el servidor flexible de Azure Database for MySQL solo admiten el motor de almacenamiento InnoDB. Asegúrese de que todas las tablas de la base de datos utilizan el motor de almacenamiento InnoDB cuando esté cargando datos en su instancia de servidor flexible de 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 de Azure Database for MySQL o a un servidor flexible de Azure Database for MySQL en MySQL Workbench, haga lo siguiente:
- En el caso del servidor único Azure Database for MySQL, asegúrese de que el nombre de usuario tiene el formato <username@servername>.
- Para el servidor flexible de Azure Database for MySQL, use solo el <nombre de usuario>. Si usa< username@servername> conectarse, se producirá un error en la conexión.
Ejecución de los asistentes para la exportación e importación de datos de tablas mediante 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:
- Haga clic en con el botón derecho en la tabla de la base de datos que se va a exportar.
- 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).
- 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.
- En la página Select output file location (Seleccionar ubicación del archivo de salida), seleccione Siguiente.
- En el panel Exportar datos, seleccione Siguiente.
Asistente para importación de datos de tabla
Para importar una tabla desde un archivo CSV:
- Haga clic con el botón derecho en la tabla de la base de datos que se va a importar.
- Busque y seleccione el archivo CSV que desea importar y, a continuación, seleccione Siguiente.
- 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.
- Seleccione la codificación y las columnas que desea importar y, después, seleccione Siguiente.
- 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
Puede usar el panel Exportación de datos para exportar los datos de MySQL.
En MySQL Workbench, en el panel Navegador, seleccione Exportación de datos.
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.
Seleccione los objetos de base de datos que desea exportar y configure las opciones relacionadas.
Seleccione Actualizar para cargar los objetos actuales.
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 deinsert
y entrecomille los identificadores con caracteres de acento grave.Seleccione Iniciar exportación para comenzar el proceso de exportación.
Importar datos
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.
- En MySQL Workbench, en el panel Navegador, seleccione Restauración/Importación de datos.
- 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.
- Seleccione Iniciar importación para comenzar el proceso de importación.
Pasos siguientes
- Para conocer otro método de migración, vea Migración de la base de datos MySQL al servidor flexible de Azure Database for MySQL mediante el volcado y la restauración.
- Para obtener más información sobre cómo migrar bases de datos al servidor flexible de Azure Database for MySQL, consulte la Guía de migración de base de datos.