Todos los productos
Search
Centro de documentos

ApsaraDB for OceanBase (Deprecated):Migración de datos de una base de datos TiDB a un inquilino MySQL de OceanBase Database

Última actualización: Sep 04, 2026

This topic describes how to use the data transmission service to migrate data from a TiDB database to a MySQL tenant of OceanBase Database.
Importante

Si una tarea de migración de datos permanece inactiva durante un período prolongado (con estado Failed, Paused o Completed), es posible que no se pueda reanudar debido a factores como el período de retención de los registros incrementales. Para liberar recursos, Data Transmission Service libera las tareas de migración de datos que han estado inactivas por más de tres días. Se recomienda configurar alertas para sus tareas y atender cualquier excepción de manera oportuna.

Contexto

El servicio de transmisión de datos permite migrar sin problemas los datos comerciales existentes y los datos incrementales desde una base de datos TiDB hacia un inquilino MySQL de OceanBase Database mediante la migración de esquemas, la migración completa y la sincronización incremental.

TiDB es una base de datos distribuida integrada compatible con el procesamiento transaccional y analítico híbrido (HTAP). Para sincronizar datos incrementales desde una base de datos TiDB hacia un inquilino MySQL de OceanBase Database, debe desplegar un clúster de TiCDC y un clúster de Kafka.

image.png

TiCDC es una herramienta de sincronización de datos incrementales para TiDB que ofrece alta disponibilidad mediante un clúster de placement driver (PD), el cual corresponde al módulo de programación del clúster de TiDB y generalmente consta de tres nodos PD. TiKV Server es un nodo TiKV dentro del clúster de TiDB que envía los cambios de datos en registros de cambio al clúster de TiCDC. TiCDC ejecuta varios procesos para obtener y procesar datos de los nodos TiKV, y luego sincroniza dichos datos con el clúster de Kafka. El clúster de Kafka almacena los registros incrementales de la base de datos TiDB convertidos por TiCDC. Durante la sincronización incremental, el servicio de transmisión de datos obtiene la información correspondiente del clúster de Kafka y migra los datos al inquilino MySQL de OceanBase Database en tiempo real.

Si crea un origen de datos TiDB sin vincularlo a un origen de datos Kafka, no podrá realizar la sincronización incremental.

Requisitos previos

  • El servicio de transmisión de datos cuenta con los privilegios necesarios para acceder a los recursos en la nube. Para obtener más información, consulte Role authorization for data transmission and migration.

  • Ha creado usuarios de base de datos dedicados para la migración de datos tanto en la base de datos TiDB de origen como en el inquilino MySQL de destino de OceanBase Database, y les ha otorgado los privilegios correspondientes. Para obtener más información, consulte Create a database user.

Límites

  • Limitaciones de la base de datos de origen

    No ejecute operaciones DDL que modifiquen los esquemas de bases de datos o tablas durante la migración de esquemas o la migración completa. De lo contrario, la tarea de migración de datos podría interrumpirse.

  • Solo son compatibles las versiones 4.x y 5.x de TiDB.

  • El servicio de transmisión de datos no admite la sincronización DDL para la migración de datos desde una base de datos TiDB hacia un inquilino MySQL de OceanBase Database.

  • El servicio de transmisión de datos no admite triggers en la base de datos de destino. Si existen triggers en la base de datos de destino, la migración de datos podría fallar.

  • El servicio de transmisión de datos no admite la migración de tablas sin claves primarias ni de datos con espacios desde una base de datos TiDB hacia un inquilino MySQL de OceanBase Database.

  • Los identificadores de origen de datos y las cuentas de usuario deben ser globalmente únicos dentro del sistema de transmisión de datos.

  • El servicio de transmisión de datos solo admite la migración de un objeto cuando se cumplen las siguientes condiciones: el nombre de la base de datos, el nombre de la tabla y el nombre de la columna del objeto están codificados en ASCII y no contienen caracteres especiales. Los caracteres especiales incluyen saltos de línea, espacios y los siguientes símbolos: . | " ' ` ( ) = ; / & \.

  • El servicio de transmisión de datos solo admite el protocolo abierto de TiCDC. Si utiliza un protocolo no compatible, se devolverá un error de puntero nulo.

  • Cuando utilice TiCDC para sincronizar datos con una instancia de Kafka, debe agregar la configuración enable-old-value = true al archivo de configuración. De lo contrario, los formatos de los mensajes de sincronización de datos podrían ser inválidos. Para obtener más información, consulte Archivo de configuración de tareas.

Consideraciones

  • Si el origen contiene claves foráneas con el mismo nombre, se producirá un error durante la migración de esquemas. En este caso, puede cambiar el nombre de las claves foráneas para restaurar la tarea.

  • Si la base de datos de origen utiliza el juego de caracteres UTF-8, se recomienda usar un juego de caracteres compatible, como UTF-8 o UTF-16, en la base de datos de destino para evitar caracteres ilegibles.

  • No escriba datos en el tema utilizado sincrónicamente por TiCDC. De lo contrario, se devolverá un error de puntero nulo.

  • Compruebe si la precisión de migración del servicio de transmisión de datos para columnas con tipos de datos como DECIMAL, FLOAT y DOUBLE es la esperada. Si la precisión del tipo de campo de destino es inferior a la del tipo de campo de origen, el valor con mayor precisión podría truncarse. Esto podría provocar inconsistencias de datos entre los campos de origen y destino.

  • Si modifica un índice único en el destino, debe reiniciar la tarea de migración de datos para evitar inconsistencias en los datos.

  • Si los relojes entre nodos o entre el cliente y el servidor no están sincronizados, la latencia podría ser inexacta durante la sincronización incremental o la sincronización incremental inversa.

    Por ejemplo, si el reloj está atrasado respecto a la hora estándar, la latencia puede ser negativa. Si el reloj está adelantado, la latencia puede ser positiva.

  • Tenga en cuenta las siguientes consideraciones si desea agregar varias tablas:

    • Se recomienda configurar las asignaciones entre las bases de datos de origen y destino especificando reglas de coincidencia.

    • Se recomienda crear manualmente los esquemas en el destino. Si crea esquemas en el destino mediante el servicio de transmisión de datos, omita los objetos fallidos en el paso de migración de esquemas.

  • Una diferencia entre los esquemas de las tablas de origen y destino puede afectar la consistencia de los datos. A continuación se describen algunos escenarios conocidos:

    • Al crear manualmente un esquema de tabla en el destino, si el tipo de datos de alguna columna no es compatible con el servicio de transmisión de datos, podría producirse una conversión implícita de tipos de datos en el destino, lo que causaría tipos de columna inconsistentes entre las bases de datos de origen y destino.

    • Si la longitud de una columna en el destino es menor que en la base de datos de origen, los datos de dicha columna podrían truncarse automáticamente, lo que provocaría inconsistencias de datos entre las bases de datos de origen y destino.

  • Si seleccionó únicamente Incremental Synchronization al crear la tarea de migración de datos, el servicio de transmisión de datos requiere que los registros incrementales locales de la base de datos de origen se conserven durante al menos 48 horas.

    Si seleccionó Full Migration e Incremental Synchronization al crear la tarea de migración de datos, el servicio de transmisión de datos requiere que los registros incrementales locales de la base de datos de origen se conserven durante al menos 7 días. Si el servicio de transmisión de datos no puede obtener los registros incrementales, la tarea de migración de datos podría fallar o incluso los datos entre las bases de datos de origen y destino podrían volverse inconsistentes después de la migración.

  • Si la base de datos de origen o de destino contiene objetos de tabla que difieren únicamente en mayúsculas y minúsculas, los resultados de la migración de datos podrían no ser los esperados debido a la insensibilidad a mayúsculas y minúsculas en la base de datos de origen o destino.

Tipos de instancias de origen y destino compatibles

En la siguiente tabla, OB_MySQL representa al inquilino MySQL de OceanBase Database.

Origen

Destino

TiDB (base de datos autogestionada en una VPC)

OB_MySQL (instancia de clúster de OceanBase)

TiDB (base de datos autogestionada con dirección IP pública)

OB_MySQL (instancia de clúster de OceanBase)

TiDB (base de datos autogestionada en una VPC)

OB_MySQL (instancia serverless)

TiDB (base de datos autogestionada con dirección IP pública)

OB_MySQL (instancia serverless)

Asignaciones de tipos de datos

Base de datos TiDB

Inquilino MySQL de OceanBase Database

INTEGER

INTEGER

TYNYINT

TYNYINT

MEDIUMINT

MEDIUMINT

BIGINT

BIGINT

SMALLINT

SMALLINT

DECIMAL

DECIMAL

NUMERIC

NUMERIC

FLOAT

FLOAT

REAL

REAL

DOUBLE PRECISION

DOUBLE PRECISION

BIT

BIT

CHAR

CHAR

VARCHAR

VARCHAR

BINARY

BINARY

VARBINARY

VARBINARY

BLOB

BLOB

TEXT

TEXT

ENUM

ENUM

SET

SET

DATE

DATE

DATETIME

DATETIME

TIMESTAMP

TIMESTAMP

TIME

TIME

YEAR

YEAR

Procedimiento

  1. Inicie sesión en OceanBase Management Console y adquiera una tarea de migración de datos.

    Para obtener más información, consulte Purchase a data migration task.

  2. En la página Data Transmission > Data Migration, haga clic en Configure para su nueva tarea de migración de datos.

    image.png

    Para hacer referencia a una configuración de tarea existente, puede hacer clic en Reference Configuration. Para obtener más información, consulte Reference a data migration task configuration.

  3. En la página Select Source and Target, configure los parámetros correspondientes.

    Parámetro

    Descripción

    Migration Task Name

    Se recomienda establecer una combinación de dígitos y letras. No debe contener espacios ni exceder los 64 caracteres de longitud.

    Source

    Si ya creó un origen de datos TiDB, selecciónelo de la lista desplegable. De lo contrario, haga clic en New Data Source en la lista desplegable y cree uno en el cuadro de diálogo que aparece a la derecha. Para obtener más información, consulte Create a TiDB data source.

    Target

    Si ya creó un origen de datos para el inquilino MySQL de OceanBase Database, selecciónelo de la lista desplegable. De lo contrario, haga clic en New Data Source en la lista desplegable y cree uno en el cuadro de diálogo que aparece a la derecha. Para obtener más información sobre los parámetros, consulte Create an OceanBase data source.

    Tag (Optional)

    Seleccione una etiqueta de destino de la lista desplegable. También puede hacer clic en Manage Tags para crear, modificar y eliminar etiquetas. Para obtener más información, consulte Manage data migration tasks with tags.

  4. Haga clic en Next. En la página Select Migration Type, especifique los tipos de migración para la tarea actual de migración de datos.

    Los tipos de migración admitidos son: migración de esquemas, migración completa, sincronización incremental, verificación completa y sincronización incremental inversa.

    image

    Tipo de migración

    Descripción

    Migración de esquemas

    Una vez iniciada la tarea de migración de esquemas, el servicio de transmisión de datos migra las definiciones de los objetos de base de datos (como tablas, índices, restricciones, comentarios y vistas) desde la base de datos de origen hacia la base de datos de destino, y filtra automáticamente las tablas temporales.

    Migración completa

    Una vez iniciada la tarea de migración completa, el servicio de transmisión de datos migra los datos existentes de las tablas en la base de datos de origen hacia las tablas correspondientes en la base de datos de destino. Si selecciona Full Migration, se recomienda utilizar la sentencia ANALYZE para recopilar las estadísticas de la base de datos TiDB antes de la migración de datos.

    Sincronización incremental

    Una vez iniciada la tarea de sincronización incremental, el servicio de transmisión de datos sincroniza los datos modificados (datos agregados, modificados o eliminados) desde la base de datos de origen hacia las tablas correspondientes en la base de datos de destino.

    La DML Synchronization es compatible con la Incremental Synchronization. Puede seleccionar las operaciones según sea necesario. Para obtener más información, consulte Configure DDL/DML synchronization. Si crea un origen de datos TiDB sin vincularlo a un origen de datos Kafka, no podrá seleccionar Incremental Synchronization.

    Verificación completa

    Una vez completadas las tareas de migración completa y sincronización incremental, el servicio de transmisión de datos inicia automáticamente una tarea de verificación completa para validar las tablas en las bases de datos de origen y destino.

    • Si selecciona Full Verification, se recomienda recopilar las estadísticas de la base de datos TiDB y del inquilino MySQL de OceanBase Database antes de la verificación completa.

    • Si selecciona Incremental Synchronization pero no selecciona todas las sentencias DML en la sección DML Synchronization, no podrá seleccionar Full Verification.

    Sincronización incremental inversa

    Los cambios de datos realizados en la base de datos de destino después de la conmutación de la base de datos comercial se sincronizan con la base de datos de origen en tiempo real mediante la sincronización incremental inversa.

    Generalmente, las configuraciones de sincronización incremental se reutilizan para la sincronización incremental inversa. También puede personalizar las configuraciones para la sincronización incremental inversa según sea necesario.

  5. Haga clic en Next. En la página Select Migration Objects, especifique los objetos de migración para la tarea de migración de datos.

    Puede seleccionar Specify Objects o Match Rules para especificar los objetos de migración. Este tema describe cómo especificar los objetos de migración mediante Specify Objects. Para obtener información sobre las reglas de coincidencia, consulte Configure and modify matching rules.

    Importante
    • Los nombres de las tablas a migrar, así como los nombres de las columnas en dichas tablas, no deben contener caracteres chinos.

    • Si el nombre de una base de datos o tabla contiene signos de dólar dobles ($$), no podrá crear la tarea de migración.

    image.png

    1. En la sección Select Migration Objects, seleccione Specify Objects.

    2. In the Source Object(s) list of the Specify Migration Scope section, select the objects to migrate. You can select tables and views of one or more databases.

    3. Click > to add them to the Target Object(s) list.

    Data Transmission Service le permite importar objetos desde archivos de texto. También le permite cambiar el nombre de los objetos de destino, establecer filtros de filas, consultar información de columnas y eliminar un objeto individual o todos los objetos.

    Nota

    Cuando selecciona objetos de migración mediante el método de Matching Rules, la sintaxis de la regla de coincidencia anula la capacidad de cambio de nombre, y la sección Actions se limita a establecer condiciones de filtro. Para obtener más información, consulte Configure and modify matching rules.

    Operación

    Descripción

    Importar objeto

    1. En la lista a la derecha del área de selección, haga clic en Import Object en la esquina superior derecha.

    2. En el cuadro de diálogo que aparece, haga clic en OK.

      Importante

      La operación de importación sobrescribe las selecciones anteriores. Proceda con precaución.

    3. En el cuadro de diálogo Import Migration Objects, importe los objetos a migrar.

      Puede importar un archivo CSV para cambiar el nombre de las tablas de la base de datos, establecer condiciones de filtrado de filas y realizar otras operaciones. Para obtener más información, consulte Download and import migration object configurations.

    4. Haga clic en Check Validity.

      Después de importar los objetos de migración, compruebe primero su validez. Actualmente no se admite la asignación de campos de columna.

    5. Una vez superada la comprobación, haga clic en OK.

    Cambiar nombre

    Data Transmission Service le permite cambiar el nombre de los objetos de migración. Para obtener más información, consulte Rename database and table objects.

    Configuración

    Data Transmission Service admite el filtrado de filas mediante condiciones WHERE. Para obtener más información, consulte Filter data with SQL conditions.

    También puede consultar la información de columnas de los objetos de migración en el área View Columns.

    Eliminar/Eliminar todo

    Data Transmission Service le permite eliminar uno o más objetos que hayan sido seleccionados temporalmente para el destino durante la asignación de datos.

    • Eliminar un solo objeto de migración

      En la lista a la derecha del área de selección, pase el cursor sobre el objeto objetivo y haga clic en el botón Remove que se muestra para eliminar el objeto de migración.

    • Eliminar todos los objetos de migración

      En la lista a la derecha del área de selección, haga clic en Remove All en la esquina superior derecha. En el cuadro de diálogo que aparece, haga clic en OK para eliminar todos los objetos de migración.

  6. Haga clic en Next. En la página Migration Options, configure los parámetros.

    • Migración completa

      Los siguientes parámetros se muestran únicamente si selecciona Full Migration en la página Select Migration Types.

      image

      Parámetro

      Descripción

      Read Concurrency

      Este parámetro especifica el número de hilos concurrentes para leer datos del origen durante la migración completa. El valor máximo es 512. Un alto grado de concurrencia puede ejercer presión excesiva sobre la base de datos de origen y afectar su negocio.

      Write Concurrency

      Este parámetro especifica el número de hilos concurrentes para escribir datos en el destino durante la migración completa. El valor máximo es 512. Un alto grado de concurrencia puede ejercer presión excesiva sobre la base de datos de destino y afectar su negocio.

      Full Migration Rate Limit

      Puede habilitar el límite de tasa de migración completa según sea necesario. Si lo habilita, establezca RPS (número máximo de filas de datos que se pueden migrar al destino por segundo durante la migración completa) y BPS (volumen máximo de datos que se pueden migrar al destino por segundo durante la migración completa).

      Nota

      Las configuraciones de RPS y BPS solo funcionan como límites de estrangulamiento. El rendimiento real de la migración completa depende de factores como el origen, el destino y las especificaciones de la instancia.

      Policy for Existing Records in Destination Table Objects

      Las directivas incluyen Ignore y Stop Migration:

      • Seleccione Ignore: Si existen datos en el objeto de tabla de destino y ocurre un conflicto entre los datos originales y los datos a escribir, DTS registra los datos en conflicto y mantiene los datos originales sin cambios.

        Importante

        Si selecciona Ignore, la verificación completa utiliza el modo IN para extraer datos. No puede verificar escenarios donde el destino tiene datos que no existen en el origen. El rendimiento de la verificación también se degrada en cierta medida.

      • Seleccione el valor predeterminado Stop Migration: Si existen datos en el objeto de tabla de destino, la migración completa reporta un error y no se permite continuar. Gestione los datos en el destino y luego continúe con la migración.

        Importante

        Si hace clic en Resume después de que ocurra un error, DTS ignora esta configuración y continúa migrando los datos de la tabla. Proceda con precaución.

      Allow index suffixes

      Puede especificar si permite la creación de índices después de completar la migración completa de datos. Esta función puede reducir el tiempo requerido para la migración completa. Para notas sobre la creación de índices posteriores a la migración, consulte la descripción debajo de la tabla.

      Importante
      • Este parámetro se muestra únicamente si selecciona tanto Schema Migration como Full Migration en la página Select Migration Types.

      • Solo los índices de clave no única admiten la creación posterior a la migración.

      • Cuando se está creando un índice, si la base de datos OceanBase de destino reporta uno de los siguientes errores, DTS ignora el error y considera que el índice se creó correctamente. No intentará crear el índice nuevamente.

        • El inquilino MySQL de la base de datos OceanBase reporta un error Duplicate key name.

        • El inquilino Oracle de la base de datos OceanBase reporta un error name is already used by an existing object.

      Si el destino es una base de datos OceanBase y selecciona Allow, configure los siguientes parámetros:

      • Concurrencia para una sola sentencia DDL de índice: Un mayor grado de paralelismo consume más recursos y aumenta la velocidad de migración.

      • Número máximo de sentencias DDL de índice concurrentes: El número máximo de sentencias DDL de índice posteriores a la migración que el sistema puede invocar simultáneamente.

      Si permite la creación de índices posteriores a la migración, se recomienda utilizar un cliente de línea de comandos para ajustar los siguientes parámetros del inquilino comercial basándose en el hardware y el tráfico de servicio de la base de datos OceanBase.

      // File memory buffer limit
      alter system set _temporary_file_io_area_size = '10' tenant = 'xxx'; 
      // V4.x disable throttling
      alter system set sys_bkgd_net_percentage = 100;  
    • Sincronización incremental

      Los siguientes parámetros aparecen únicamente si selecciona Incremental Synchronization en la página Select Migration Types.

      image

      Parámetro

      Descripción

      Write Concurrency

      Este parámetro especifica el número de hilos concurrentes para escribir datos en el destino durante la sincronización incremental. El valor máximo es 512. Un alto grado de concurrencia puede ejercer presión excesiva sobre el destino y afectar sus servicios.

      Incremental Synchronization Rate Limit

      Puede decidir si habilita el límite de tasa de sincronización incremental según sea necesario. Si lo habilita, establezca RPS (el número máximo de filas de datos que se pueden sincronizar con el destino por segundo durante la sincronización incremental) y BPS (el volumen máximo de datos que se pueden sincronizar con el destino por segundo durante la sincronización incremental).

      Nota

      Las configuraciones de RPS y BPS aquí solo funcionan como una capacidad de limitación de tasa. El rendimiento real de la sincronización incremental depende de factores como el origen, el destino y las especificaciones de la instancia.

      Incremental Synchronization Start Offset

      • Si selecciona Full Migration, este parámetro no se muestra.

      • Si selecciona Incremental Synchronization pero no Full Migration, especifique un punto en el tiempo desde el cual comenzar a migrar datos. El valor predeterminado es la hora actual del sistema. Para obtener más información, consulte Configure an incremental synchronization offset.

    • Incremental inversa

      Los parámetros de esta sección aparecen únicamente si selecciona Reverse Incremental Synchronization en la página Select Migration Types. De forma predeterminada, la opción Reuse Incremental Synchronization Configuration está seleccionada.

      image

      También puede desmarcar esta opción y configurar los parámetros según sea necesario.

      Parámetro

      Descripción

      Write Concurrency

      Este parámetro especifica el número de hilos concurrentes para escribir datos en el origen durante la sincronización incremental inversa. El valor máximo es 512. Un alto grado de concurrencia puede ejercer presión excesiva sobre la base de datos de origen y afectar su negocio.

      Reverse Incremental Synchronization Rate Limit

      Puede habilitar el límite de tasa de sincronización incremental inversa según sea necesario. Si lo habilita, establezca RPS (número máximo de filas de datos que se pueden sincronizar con el origen por segundo durante la sincronización incremental inversa) y BPS (volumen máximo de datos que se pueden sincronizar con el origen por segundo durante la sincronización incremental inversa).

      Nota

      Las configuraciones de RPS y BPS solo funcionan como límites de estrangulamiento. El rendimiento real de la sincronización incremental inversa depende de factores como el origen, el destino y las especificaciones de la instancia.

      Incremental Synchronization Start Offset

      • Este parámetro no se muestra si selecciona Full Migration como tipo de migración.

      • Si no selecciona Full Migration pero selecciona Incremental Synchronization, el desplazamiento inicial se basa en la conmutación directa (si existe) de forma predeterminada y no se puede modificar.

    • Opciones avanzadas

      Los parámetros de esta sección aparecen únicamente si el inquilino MySQL de la base de datos OceanBase de destino es versión 4.3.0 o posterior y usted selecciona Schema Migration en la página Select Migration Types.

      image

      Esta configuración determina la clase de almacenamiento de los objetos de tabla de destino durante la migración de esquemas. Puede elegir entre las siguientes opciones: Default, Row Store, Column Store o Hybrid Row-Column Store. Para obtener más información, consulte default_table_store_format.

      Nota

      La opción Default se adapta automáticamente a la configuración de parámetros del destino. Durante la migración de esquemas, los objetos de tabla se escriben en el esquema correspondiente basándose en la clase de almacenamiento especificada.

  7. Haga clic en Precheck para realizar la comprobación previa de la tarea de migración de datos.

    En el paso Precheck, Data Transmission Service comprueba si los elementos cumplen con los requisitos, tales como los permisos de lectura y escritura del usuario de la base de datos y la conectividad de red de la base de datos. Solo puede iniciar la tarea de migración de datos después de que todos los elementos de comprobación sean aprobados. Si la comprobación previa falla:

    • Puede identificar y solucionar el problema, y luego ejecutar la comprobación previa nuevamente hasta que sea exitosa.

    • También puede hacer clic en Skip en la columna Actions para un elemento de comprobación previa fallido. Aparecerá un cuadro de diálogo que describe el impacto de omitir esta operación. Para continuar, haga clic en OK.

  8. Después de aprobar la comprobación previa, haga clic en Start Task.

    Si no desea iniciar la tarea inmediatamente, haga clic en Save. Luego podrá iniciar la tarea manualmente desde la página Data Migration Task List o mediante operaciones por lotes. Para obtener más información sobre las operaciones por lotes, consulte Batch Operations on Data Migration Tasks.

    Data Transmission Service le permite modificar objetos de migración y sus condiciones de filtrado de filas mientras se ejecuta una tarea de migración de datos. Para obtener más información, consulte View and modify migration objects and their filter conditions. Una vez iniciada la tarea de migración de datos, esta realiza los pasos de migración secuencialmente basándose en los tipos de migración seleccionados. Para obtener más información, consulte View migration details.

Referencias