Este tema describe cómo migrar datos de una instancia ApsaraDB RDS for MySQL a un clúster AnalyticDB for MySQL V3.0 mediante Data Transmission Service (DTS). Después de migrar los datos, puede utilizar AnalyticDB for MySQL para construir sistemas internos de inteligencia empresarial (BI), sistemas de consultas interactivas y sistemas de informes en tiempo real.
Requisitos previos
El clúster de destino AnalyticDB for MySQL V3.0 ya está creado. Para obtener más información, consulte Create a cluster.
El espacio de almacenamiento disponible en el clúster de destino AnalyticDB for MySQL es mayor que el tamaño total de los datos en la instancia de origen ApsaraDB RDS for MySQL.
Límites
Tipo | Descripción |
Límites de la base de datos de origen |
|
Otros límites |
|
Casos especiales |
|
Facturación
|
Tipo de migración |
Cargo por configuración de instancia |
Cargo por tráfico de Internet |
|
Migración de esquemas y migración completa de datos |
Sin costo. |
Cuando el parámetro Access Method de la base de datos de destino se establece en Public IP Address, se aplica un cargo por tráfico de Internet. Para obtener más información, consulte Billing overview. |
|
Migración incremental de datos |
Con costo. Para obtener más información, consulte Billing overview. |
Tipos de migración
-
Migración de esquemas
DTS migra los esquemas de los objetos necesarios desde la base de datos de origen hacia la base de datos de destino.
NotaApsaraDB RDS for MySQL y AnalyticDB for MySQL son bases de datos heterogéneas. DTS no garantiza que los esquemas de las bases de datos de origen y destino sean consistentes tras la migración de esquemas. Se recomienda evaluar el impacto de la conversión de tipos de datos en su negocio. Para obtener más información, consulte
Data type mappings for heterogeneous databases
.
-
Migración completa de datos
DTS migra los datos históricos de los objetos necesarios desde la base de datos de origen hacia la base de datos de destino.
-
Migración incremental de datos
Una vez completada la migración completa de datos, DTS sincroniza los datos incrementales desde la base de datos de origen hacia la base de datos de destino. La migración incremental de datos permite garantizar la continuidad del servicio al migrar datos entre bases de datos autoadministradas.
Operaciones SQL compatibles con la migración
|
Tipo de operación |
Sentencias SQL |
|
DML |
INSERT, UPDATE y DELETE |
|
DDL |
CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN y DROP COLUMN |
Si se modifica el tipo de dato de un campo en la tabla de origen durante la migración de datos, se generará un mensaje de error y la tarea de migración se detendrá. Puede
o seguir los pasos a continuación para solucionar el problema.
Cuando DTS migra datos al clúster de destino AnalyticDB for MySQL, se cambia el tipo de dato de un campo llamado customer en la tabla de origen. Como resultado, la tarea de migración de datos falla.
En el clúster de destino AnalyticDB for MySQL V3.0, cree una tabla llamada customer_new. La tabla customer_new debe tener el mismo esquema que la tabla customer.
Ejecute el comando INSERT INTO SELECT para copiar los datos de la tabla customer e insertarlos en la tabla customer_new. Esto garantiza que los datos de ambas tablas sean consistentes.
Cambie el nombre o elimine la tabla customer. Luego, cambie el nombre de la tabla customer_new a customer.
Reinicie la tarea de migración de datos en la consola de DTS.
Permisos necesarios para las cuentas de base de datos
| Base de datos | Migración de esquemas | Migración completa | Migración incremental |
| ApsaraDB RDS for MySQL | Permiso SELECT | Permiso SELECT | Permiso SELECT sobre los objetos a migrar, permiso REPLICATION SLAVE y permiso REPLICATION CLIENT. DTS otorga estos permisos automáticamente a la cuenta de la base de datos. |
| AnalyticDB for MySQL V3.0 | Permisos de lectura y escritura | ||
Para obtener más información sobre cómo crear y autorizar una cuenta de base de datos, consulte los siguientes temas:
Instancia ApsaraDB RDS for MySQL: Create an account y Modify the permissions of a standard account on an ApsaraDB RDS for MySQL instance
Clúster AnalyticDB for MySQL V3.0: 创建数据库账号
Procedimiento
-
Inicie sesión en la página de tareas de migración de datos de la nueva consola de DTS.
NotaTambién puede iniciar sesión en la consola de Data Management (DMS). En la barra de menú superior, seleccione .
-
En la esquina superior izquierda de la página, seleccione la región donde se encuentra la instancia de migración.
-
Haga clic en Create Task y configure las bases de datos de origen y destino.
AvisoDespués de seleccionar las instancias de origen y destino, le recomendamos leer atentamente los límites que se muestran en la parte superior de la página. De lo contrario, la tarea podría fallar o producirse inconsistencias en los datos.

Sección Parámetro Descripción N/A Task Name DTS genera automáticamente un nombre para la tarea. Le recomendamos especificar un nombre descriptivo para facilitar su identificación. El nombre no necesita ser único.
Source Database Database Type Seleccione MySQL. Access Method Seleccione Alibaba Cloud Instance. Instance Region Seleccione la región donde reside la instancia de origen de ApsaraDB RDS for MySQL. Cross-account En este ejemplo, seleccione No, ya que los datos se migran dentro de la misma cuenta de Alibaba Cloud. RDS Instance ID Seleccione el ID de la instancia de origen de ApsaraDB RDS for MySQL. Database Account Introduzca la cuenta de base de datos de la instancia de origen de ApsaraDB RDS for MySQL. Para obtener información sobre los permisos necesarios para la cuenta, consulte Permissions required for database accounts. Database Password Introduzca la contraseña de la cuenta de base de datos.
Destination Database Database Type Seleccione AnalyticDB for MySQL 3.0. Access Method Seleccione Alibaba Cloud Instance. Instance Region Seleccione la región donde reside el clúster de destino de AnalyticDB for MySQL V3.0. Instance ID Seleccione el ID del clúster de destino de AnalyticDB for MySQL V3.0. Database Account Introduzca la cuenta de base de datos del clúster de destino de AnalyticDB for MySQL V3.0. Para obtener información sobre los permisos necesarios para la cuenta, consulte Permissions required for database accounts. Database Password Introduzca la contraseña de la cuenta de base de datos.
-
Una vez completada la configuración, haga clic en Test Connectivity and Proceed en la parte inferior de la página.
Si la base de datos de origen o destino es una instancia de base de datos de Alibaba Cloud, como una instancia de RDS for MySQL o ApsaraDB for MongoDB, DTS agrega automáticamente los bloques CIDR de los servidores de DTS a la lista de permitidos de direcciones IP de la instancia. Si la base de datos de origen o destino es una base de datos autogestionada alojada en una instancia de ECS, DTS agrega automáticamente los bloques CIDR de los servidores de DTS a las reglas del security group de la instancia de ECS. También debe asegurarse de que la base de datos sea accesible desde la instancia de ECS. Si la base de datos autogestionada está alojada en varias instancias de ECS, debe agregar manualmente los bloques CIDR de los servidores de DTS a las reglas del security group de cada instancia de ECS. Si la base de datos de origen o destino es una base de datos autogestionada implementada en un centro de datos local o proporcionada por un proveedor de servicios en la nube externo, debe agregar manualmente los bloques CIDR de los servidores de DTS a la lista de permitidos de direcciones IP de la base de datos para permitir el acceso desde los servidores de DTS. Para obtener más información sobre las direcciones IP de los servidores de DTS, consulte CIDR blocks of DTS servers.
AvisoAgregar los bloques de direcciones IP públicas de los servidores de DTS, ya sea de forma automática o manual, puede introducir riesgos de seguridad. Al utilizar este producto, usted reconoce y acepta estos riesgos potenciales. Debe implementar medidas de seguridad básicas, como usar contraseñas seguras, limitar los puertos abiertos para cada bloque CIDR, emplear autenticación para llamadas internas a la API y revisar periódicamente los bloques CIDR innecesarios para restringirlos. También puede conectarse mediante una red interna, como una línea dedicada, VPN Gateway o Smart Access Gateway.
-
Configure los objetos de la tarea y la configuración avanzada.
-
Basic Settings
Parámetro Descripción Migration Types Si solo necesita realizar una migración completa, seleccione tanto Schema Migration como Full Data Migration.
Para realizar una migración sin tiempo de inactividad, seleccione Schema Migration, Full Data Migration y Incremental Data Migration.
NotaSi no selecciona Schema Migration, debe asegurarse de que existan una base de datos y tablas para recibir los datos en la base de datos de destino. También puede utilizar la función de asignación de nombres de objetos en el cuadro Selected Objects según sea necesario.
Si no selecciona Incremental Data Migration, no escriba nuevos datos en la instancia de origen durante la migración de datos para garantizar la consistencia de los mismos.
Processing Mode for Existing Destination Tables Precheck and Report Errors: Comprueba si existen tablas con los mismos nombres en la base de datos de destino. Si no existen tablas con los mismos nombres, la comprobación previa se supera correctamente. Si existen tablas con los mismos nombres, se notifica un error durante la comprobación previa y la tarea de migración de datos no se inicia.
NotaSi una tabla en la base de datos de destino tiene el mismo nombre pero no se puede eliminar o renombrar fácilmente, puede cambiar el nombre de la tabla en la base de datos de destino. Para obtener más información, consulte Object name mapping.
Ignore Errors and Proceed: Omite la comprobación de tablas con los mismos nombres.
AvisoSeleccionar Ignore Errors and Proceed puede causar inconsistencia en los datos y riesgos operativos. Por ejemplo:
Si los esquemas de las tablas son consistentes y un registro en la base de datos de destino tiene el mismo valor de clave primaria que un registro en la base de datos de origen:
Durante la migración completa, DTS conserva el registro en la base de datos de destino. El registro de la base de datos de origen no se migra.
Durante la migración incremental, DTS no conserva el registro en la base de datos de destino. El registro de la base de datos de origen sobrescribe el registro en la base de datos de destino.
Si los esquemas de las tablas son inconsistentes, es posible que solo se migren algunas columnas de datos o que la migración falle. Proceda con precaución.
Select DDL and DML to Sync at the Instance Level Seleccione las operaciones SQL que desea migrar a nivel de instancia. Para obtener más información, consulte SQL operations that can be migrated Nota Para seleccionar las operaciones SQL realizadas en una base de datos o tabla específica, siga estos pasos: En la sección Selected Objects, haga clic con el botón derecho en un objeto. En el cuadro de diálogo que aparece, seleccione las operaciones SQL que desea migrar.Table Merging Si selecciona Yes, DTS agrega la columna
__dts_data_sourcea cada tabla para registrar los orígenes de datos. Para obtener más información, consulte Enable multi-table merge.Si selecciona No, esta es la opción predeterminada.
NotaLa función de fusión de tablas se configura a nivel de tarea, no a nivel de tabla. Para fusionar algunas tablas pero no otras, debe crear dos tareas de migración de datos independientes.
AvisoNo realice operaciones DDL para cambiar el esquema de la base de datos o las tablas de origen. De lo contrario, pueden producirse inconsistencias en los datos o fallos en la tarea.
Source Objects En el cuadro Source Objects, haga clic en los objetos que desea migrar y luego haga clic en
para moverlos al cuadro Selected Objects.NotaChange mapped name Para cambiar el nombre de un solo objeto de migración en la instancia de destino, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects. Para obtener más información sobre cómo establecer el nombre, consulte Map a single table or column name.
Para cambiar los nombres de varios objetos de migración en lote, haga clic en Batch Edit en la esquina superior derecha del cuadro Selected Objects. Para obtener más información sobre cómo establecer los nombres, consulte Map multiple table or column names in a batch.
NotaSi utiliza la función de asignación de nombres de objetos, otros objetos que dependan del objeto asignado podrían no migrarse correctamente.
Filter data to migrate Puede establecer condiciones para filtrar datos. Para obtener más información, consulte Filter task data with an SQL condition.
SQL operations for incremental migration En la sección Selected Objects, haga clic con el botón derecho en un objeto. En el cuadro de diálogo que aparece, seleccione las operaciones SQL que desea migrar. Para obtener más información, consulte SQL operations that can be migrated. -
Advanced Settings
Parámetro Descripción Monitoring and Alerting Seleccione si desea configurar alertas y recibir notificaciones de alerta según sus necesidades empresariales.
No: No configura ninguna alerta.
Yes: Configure las alertas estableciendo un alert threshold y alert notifications. Si una migración falla o la latencia supera el umbral, el sistema envía una notificación de alerta.
Capitalization of Object Names in Destination Instance Puede configurar la directiva de distinción entre mayúsculas y minúsculas para los nombres de los objetos migrados, como bases de datos, tablas y columnas, en la instancia de destino. De forma predeterminada, se selecciona DTS default policy. También puede optar por mantener la distinción entre mayúsculas y minúsculas consistente con la directiva predeterminada de la base de datos de origen o de destino. Para obtener más información, consulte Case sensitivity of object names in the destination database.
Copy temporary tables created by online DDL tools from the source table to the destination database Si utiliza Data Management (DMS) o gh-ost para realizar cambios DDL en línea en la base de datos de origen, puede elegir si desea migrar los datos de las tablas temporales generadas por dichos cambios.
ImportanteLas tareas de DTS no admiten el uso de herramientas como pt-online-schema-change para realizar cambios DDL en línea. De lo contrario, la tarea de DTS fallará.
Los métodos de procesamiento para cada fase son los siguientes: Las fases de Schema Migration y Full Data Migration no permiten operaciones DDL que cambien la estructura de la base de datos o de la tabla. Por lo tanto, no están controladas por la directiva de DDL en línea.
Schema Migration: No está controlada por la directiva de DDL en línea. Se crean las tablas temporales relacionadas.
Full Data Migration: No está controlada por la directiva de DDL en línea. La migración de tablas temporales no se incluye en los objetos de migración completa. Se filtran todas las tablas cuyos nombres coincidan con la expresión regular (
^_(.+)_(?:gho|new)$o^_(.+)_(?:ghc|del|old)$).Incremental Data Migration: Controlada por la directiva de DDL en línea.
Yes: Migra los cambios de datos de las tablas temporales (por ejemplo,
_table_name_gho) generadas por operaciones DDL en línea.No, Adapt to DMS Online DDL y No, Adapt to gh-ost: Filtra los cambios de datos de las tablas temporales (por ejemplo,
_table_name_gho) generadas por herramientas como gh-ost basándose en reglas de expresiones regulares.
Yes: Migra los datos de las tablas temporales generadas por cambios DDL en línea.
NotaSi los cambios DDL en línea generan una gran cantidad de datos en tablas temporales, esto puede causar latencia en la tarea.
No, Adapt to DMS Online DDL: No migra los datos de las tablas temporales generadas por cambios DDL en línea. Solo migra las sentencias DDL originales ejecutadas mediante Data Management (DMS).
NotaEsta opción provoca que se bloqueen las tablas en la base de datos de destino.
No, Adapt to gh-ost: No migra los datos de las tablas temporales generadas por cambios DDL en línea. Admite reglas de filtrado personalizadas. DTS filtra los cambios de datos de las tablas temporales (por ejemplo,
_table_name_gho) generadas por herramientas como gh-ost basándose en reglas de expresiones regulares. Puede modificar las expresiones regulares predeterminadas utilizadas para coincidir con tablas sombra e inútiles según sea necesario:Tabla sombra:
^_(.+)_(?:gho|new)$Tabla inútil:
^_(.+)_(?:ghc|del|old)$
NotaEsta opción provoca que se bloqueen las tablas en la base de datos de destino.
Retry Time for Failed Connections Después de que se inicia la tarea de migración, si falla la conexión a la base de datos de origen o destino, DTS notifica un error y comienza inmediatamente a reintentar la conexión. La duración predeterminada de reintento es de 720 minutos. Puede personalizar el tiempo de reintento a un valor de 10 a 1440 minutos. Le recomendamos establecer la duración en más de 30 minutos. Si DTS se reconecta a las bases de datos de origen y destino dentro de la duración especificada, la tarea de migración se reanuda automáticamente. De lo contrario, la tarea falla.
NotaPara varias instancias de DTS que comparten el mismo origen o destino, el tiempo de reintento de red viene determinado por la configuración de la última tarea creada.
Dado que se le cobra por la tarea durante el período de reintento de conexión, le recomendamos personalizar el tiempo de reintento según sus necesidades empresariales, o liberar la instancia de DTS lo antes posible después de que se liberen las instancias de base de datos de origen y destino.
-
-
Opcional: Una vez completadas las configuraciones anteriores, haga clic en Next: Configure Database and Table Fields para establecer el Type, la Primary Key Column, la Distribution Key y la información de la clave de partición (Partition Key, Partitioning Rules y Partition Lifecycle) para las tablas que se migrarán en la base de datos de destino.
NotaEste paso solo está disponible si selecciona la opción Schema Migration para Migration Types al configurar los objetos de la tarea. Puede seleccionar All en Definition Status para realizar modificaciones.
Puede seleccionar varias columnas para Primary Key Column para formar una clave primaria compuesta. También debe seleccionar una o más columnas de Primary Key Column para usarlas como Distribution Key y Partition Key. Para obtener más información, consulte CREATE TABLE.
-
Una vez completadas las configuraciones, haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.
Puede pasar el puntero sobre el botón Next: Save Task Settings and Precheck y hacer clic en Preview OpenAPI parameters en la burbuja que aparece para ver los parámetros de configuración de esta instancia al llamar a la operación de la API.
NotaAntes de que comience la tarea de migración, DTS realiza una comprobación previa. La tarea solo se inicia después de superar dicha comprobación.
Si la comprobación previa falla, haga clic en View Details junto al elemento fallido, solucione el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.
-
Si se reporta una advertencia durante la comprobación previa:
Para los elementos de comprobación que no se pueden ignorar, haga clic en View Details junto al elemento fallido, solucione el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.
Para los elementos de comprobación que se pueden ignorar, puede hacer clic en Confirm Alert Details, Ignore, OK y Precheck Again para omitir el elemento de alerta y volver a ejecutar la comprobación previa. Si decide ignorar una advertencia, esto puede causar problemas como inconsistencia en los datos y representar riesgos para su negocio.
Cuando el Success Rate sea del 100 %, haga clic en Next: Purchase Instance.
-
En la página Purchase, seleccione la especificación de enlace para la instancia de migración de datos. Para obtener más información, consulte la siguiente tabla.
Categoría
Parámetro
Descripción
New Instance Class
Resource Group Settings
Seleccione el resource group al que pertenece la instancia. El valor predeterminado es el resource group predeterminado. Para obtener más información, consulte What is resource management?
Instance Class
DTS proporciona especificaciones de migración con diferentes niveles de rendimiento. La especificación del enlace afecta la velocidad de migración. Puede seleccionar una especificación según su escenario empresarial. Para obtener más información, consulte Data migration link specifications.
Una vez completada la configuración, lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.
-
Haga clic en Buy and Start. En el cuadro de diálogo OK que aparece, haga clic en OK.
Puede consultar el progreso de la tarea de migración en la página de lista de Data Migration Tasks.
NotaSi la tarea de migración no incluye migración incremental, se detiene automáticamente una vez completada la migración completa. Después de que la tarea se detiene, su Status cambia a Completed.
Si la tarea de migración incluye migración incremental, no se detiene automáticamente. La tarea de migración incremental continúa ejecutándose. Mientras la tarea de migración incremental se está ejecutando, el Status de la tarea es Running.