Un origen de datos MySQL proporciona canales bidireccionales de lectura y escritura para sincronizar datos con bases de datos MySQL mediante Data Integration.
Versiones compatibles de MySQL
-
Lectura y escritura sin conexión:
Admite MySQL 5.5.x, 5.6.x, 5.7.x y 8.0.x. Es compatible con Amazon RDS for MySQL, Azure Database for MySQL y Amazon Aurora MySQL.
La sincronización sin conexión permite leer desde vistas.
-
Lectura en tiempo real:
Data Integration utiliza la suscripción en tiempo real para leer datos de MySQL. Admite la sincronización en tiempo real de las versiones 5.5.x, 5.6.x, 5.7.x y 8.0.x de MySQL, pero no es compatible con las nuevas funciones de MySQL 8.0, como el índice funcional. Esta función también es compatible con Amazon RDS for MySQL, Azure Database for MySQL y Amazon Aurora MySQL.
ImportanteSi necesita sincronizar datos desde DRDS, no lo configure como un origen de datos MySQL. En su lugar, configúrelo directamente como un origen de datos DRDS. Para obtener instrucciones, consulte Configure a DRDS data source.
Limitaciones
Sincronización en tiempo real
No es posible sincronizar datos desde instancias de solo lectura de MySQL que ejecuten una versión anterior a la 5.6.x.
No se admite la sincronización de tablas que contienen índices funcionales.
-
No se admite XA ROLLBACK.
Para las transacciones en estado XA PREPARE, la sincronización en tiempo real escribe los datos en el destino. Si se emite un comando XA ROLLBACK, la sincronización en tiempo real no revierte los datos preparados. Para manejar este escenario, debe eliminar manualmente la tabla de la tarea de sincronización en tiempo real y volver a agregarla para resincronizarla.
El formato de registro binario del servidor MySQL debe establecerse en ROW.
La sincronización en tiempo real no sincroniza las eliminaciones en cascada en tablas asociadas.
Para bases de datos Amazon Aurora MySQL, debe conectarse a su instancia principal o de escritura. No es posible habilitar la función Binlog en las réplicas de lectura de Aurora MySQL, y las tareas de sincronización en tiempo real requieren Binlog para las actualizaciones incrementales.
Para cambios DDL en línea en tablas MySQL, la sincronización en tiempo real solo admite agregar columnas (Add Column) mediante Data Management Service (DMS).
No se admite la lectura de procedimientos almacenados desde MySQL.
Sincronización sin conexión
Cuando utiliza el plugin MySQL Reader para sincronizar varias tablas desde una base de datos fragmentada, debe establecer la concurrencia en un valor mayor que el número de tablas para habilitar la división de tablas. De lo contrario, el sistema crea una tarea por cada tabla.
No se admite la lectura de procedimientos almacenados desde MySQL.
Tipos de datos compatibles
Para consultar la lista completa de tipos de datos de MySQL en cada versión, consulte la documentación oficial de MySQL. La siguiente tabla muestra el estado de compatibilidad de los principales tipos de datos, tomando como ejemplo MySQL 8.0.x.
|
Tipo |
Lectura sin conexión (MySQL Reader) |
Escritura sin conexión (MySQL Writer) |
Lectura en tiempo real |
Escritura en tiempo real |
|
TINYINT |
|
|
|
|
|
SMALLINT |
|
|
|
|
|
INTEGER |
|
|
|
|
|
BIGINT |
|
|
|
|
|
FLOAT |
|
|
|
|
|
DOUBLE |
|
|
|
|
|
DECIMAL/NUMERIC |
|
|
|
|
|
REAL |
|
|
|
|
|
VARCHAR |
|
|
|
|
|
JSON |
|
|
|
|
|
TEXT |
|
|
|
|
|
MEDIUMTEXT |
|
|
|
|
|
LONGTEXT |
|
|
|
|
|
VARBINARY |
|
|
|
|
|
BINARY |
|
|
|
|
|
TINYBLOB |
|
|
|
|
|
MEDIUMBLOB |
|
|
|
|
|
LONGBLOB |
|
|
|
|
|
ENUM |
|
|
|
|
|
SET |
|
|
|
|
|
BOOLEAN |
|
|
|
|
|
BIT |
|
|
|
|
|
DATE |
|
|
|
|
|
DATETIME |
|
|
|
|
|
TIMESTAMP |
|
|
|
|
|
TIME |
|
|
|
|
|
YEAR |
|
|
|
|
|
LINESTRING |
|
|
|
|
|
POLYGON |
|
|
|
|
|
MULTIPOINT |
|
|
|
|
|
MULTILINESTRING |
|
|
|
|
|
MULTIPOLYGON |
|
|
|
|
|
GEOMETRYCOLLECTION |
|
|
|
|
Cuando los datos se almacenan en una columna DATE de MySQL, este normaliza automáticamente el valor de fecha al formato yyyy-mm-dd. Por ejemplo, un valor de fecha de origen 20260423 en formato yyyymmdd se convierte a 2026-04-23. Este es un mecanismo integrado de MySQL y no depende de la configuración de las tareas de sincronización de DataWorks. Si necesita conservar el formato original, cambie el tipo de campo a VARCHAR en la tabla de destino.
Requisitos previos
Prepare su entorno de MySQL antes de agregarlo como origen de datos en DataWorks para garantizar que las tareas de sincronización de datos se ejecuten correctamente.
Complete los siguientes requisitos previos.
Verificar la versión de MySQL
Data Integration solo admite versiones específicas de MySQL. Para obtener más información, consulte la sección Supported MySQL versions. Compruebe su versión de MySQL ejecutando el siguiente comando:
SELECT version();
Configurar permisos de cuenta
Se recomienda crear una cuenta dedicada de MySQL para el acceso al origen de datos de DataWorks.
-
Opcional: Cree una cuenta.
Para obtener instrucciones detalladas, consulte Crear una cuenta de MySQL.
-
Otorgue permisos.
-
Por lotes
En escenarios de sincronización por lotes:
Para leer datos de MySQL, la cuenta debe tener el permiso de lectura (
SELECT) sobre las tablas que desea sincronizar.Para escribir datos en MySQL, la cuenta debe tener los permisos de escritura (
INSERT,DELETEyUPDATE) sobre las tablas que desea sincronizar.
NotaSi solo necesita leer datos de MySQL para sincronizarlos sin escribirlos de nuevo, basta con otorgar el permiso
SELECTa la cuenta. Los permisosINSERT,DELETEyUPDATEno son obligatorios para la sincronización de solo lectura. -
Tiempo real
En escenarios de sincronización en tiempo real, la cuenta debe tener los permisos
SELECT,REPLICATION SLAVEyREPLICATION CLIENTsobre la base de datos.
Ejecute los siguientes comandos para otorgar los permisos necesarios. También puede otorgar a la cuenta el permiso
SUPER. En el siguiente comando, reemplace'sync_account'con el nombre de la cuenta que creó.-- Optional: Create a synchronization account that can connect from any host ('%'). -- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'your_password'; -- Grant the required permissions to the synchronization account. GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sync_account'@'%';La sintaxis
*.*otorga los permisos sobre todas las tablas en todas las bases de datos. También puede otorgar los permisos sobre una tabla específica en una base de datos concreta. Por ejemplo, para otorgar permisos sobre la tablauseren la base de datostest, ejecute el siguiente comando:GRANT SELECT, REPLICATION CLIENT ON test.user TO 'sync_account'@'%';.NotaEl permiso
REPLICATION SLAVEes un permiso global y no se puede otorgar para una base de datos o tabla específica. -
Habilitar binlog de MySQL (solo para sincronización en tiempo real)
Data Integration realiza la sincronización incremental de datos en tiempo real mediante la suscripción a registros binarios de MySQL. Debe habilitar el registro binario de MySQL antes de configurar una tarea de sincronización en DataWorks.
Si un registro binario se está consumiendo, la base de datos no puede eliminarlo. Una latencia alta en una tarea de sincronización en tiempo real puede retrasar la eliminación del registro binario, lo cual podría agotar el espacio en disco. Se recomienda configurar alertas de latencia para su tarea y monitorear el espacio en disco de la base de datos.
Conserve los registros binarios durante al menos 72 horas. Si una tarea falla y los registros binarios ya no están disponibles, no podrá restablecer el punto de control a una posición anterior al fallo, lo que puede provocar pérdida de datos. En este caso, debe utilizar la sincronización por lotes para rellenar los datos.
-
Compruebe si el registro binario está habilitado.
-
Ejecute la siguiente instrucción para comprobar si el registro binario está habilitado.
SHOW variables LIKE "log_bin";Si el valor devuelto es
ON, el registro binario está habilitado. -
Para comprobar el estado del registro binario en una base de datos réplica, ejecute la siguiente instrucción.
SHOW variables LIKE "log_slave_updates";Si el valor devuelto es
ON, el registro binario está habilitado en la base de datos réplica.
Si el valor devuelto no es el esperado:
Para MySQL de código abierto, consulte la documentación oficial de MySQL para obtener instrucciones sobre cómo habilitar el registro binario.
Para RDS for MySQL, consulte Back up an ApsaraDB RDS for MySQL instance para obtener instrucciones sobre cómo habilitar el registro binario.
Para PolarDB for MySQL, consulte Enable or disable binary logging para obtener instrucciones sobre cómo habilitar el registro binario.
-
-
Verifique el formato del registro binario.
Ejecute la siguiente instrucción para verificar el formato del registro binario.
SHOW variables LIKE "binlog_format";Valores devueltos posibles:
Un valor devuelto de ROW indica que el formato de registro binario habilitado es
ROW.STATEMENT: El formato de registro binario es
STATEMENT.MIXED: El formato de registro binario es
MIXED.
ImportanteLa sincronización en tiempo real de DataWorks solo admite el formato ROW. Si el valor devuelto no es ROW, debe cambiar la configuración de
binlog_format. -
Compruebe si se registran imágenes completas de fila.
Ejecute la siguiente instrucción para comprobar la configuración de imagen de fila.
SHOW variables LIKE "binlog_row_image";Valores devueltos posibles:
FULL: Se registran imágenes completas de fila.
MINIMAL: Se registran imágenes mínimas de fila en lugar de imágenes completas.
ImportanteLa sincronización en tiempo real de DataWorks solo admite servidores MySQL que tienen habilitadas las imágenes completas de fila para el registro binario. Si el valor devuelto no es FULL, debe modificar la configuración de binlog_row_image.
Configurar permisos de lectura de registro binario en OSS
Al agregar un origen de datos MySQL, si establece el Configuration Mode en ApsaraDB for RDS y su instancia de RDS for MySQL se encuentra en la misma región que su espacio de trabajo de DataWorks, puede habilitar Read binlogs from OSS. De este modo, DataWorks obtiene los registros binarios desde OSS si falla el acceso directo a los registros binarios de RDS for MySQL, lo que evita interrupciones en las tareas de sincronización en tiempo real.
Si utiliza un Alibaba Cloud RAM User o un Alibaba Cloud RAM Role como OSS binlog access identity, también debe otorgar los permisos necesarios.
-
Usuario RAM
Inicie sesión en la consola de Resource Access Management (RAM), vaya a la página Users y localice el usuario RAM objetivo.
En la columna Operations, haga clic en Attach Policy.
-
Configure los siguientes parámetros y haga clic en OK.
Scope: Alibaba Cloud account
Permission Policy: system policy
Policy Name:
AliyunDataWorksAccessingRdsOSSBinlogPolicy
-
Rol RAM
-
Inicie sesión en la consola de Resource Access Management (RAM) y cree un rol RAM. Para obtener más información, consulte Create a RAM role for a trusted Alibaba Cloud account.
Parámetros clave:
Select trusted entity: Alibaba Cloud account
Select account: Other Alibaba Cloud account. Introduzca el ID de la cuenta de Alibaba Cloud propietaria del espacio de trabajo de DataWorks.
Role name: Introduzca un nombre personalizado.
-
Otorgue permisos al rol RAM. Para obtener más información, consulte Grant permissions to a RAM role.
Parámetros clave:
Permission Policy: system policy
Policy Name:
AliyunDataWorksAccessingRdsOSSBinlogPolicy
-
Modifique la política de confianza del rol RAM. Para obtener más información, consulte Edit the trust policy of a RAM role.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "di.dataworks.aliyuncs.com", "dataworks.aliyuncs.com" ] } } ], "Version": "1" }
-
Agregar un origen de datos
Modo de instancia de Alibaba Cloud
Si su base de datos MySQL se ejecuta en una instancia de RDS de Alibaba Cloud, se recomienda crear el origen de datos en el modo de instancia de Alibaba Cloud. Configure los parámetros de la siguiente manera:
|
Parámetro |
Descripción |
|
Data Source Name |
El nombre del origen de datos debe ser único dentro del espacio de trabajo. Se recomienda utilizar un nombre que identifique claramente el negocio y el entorno; por ejemplo, |
|
Connection Mode |
Seleccione el modo de instancia de Alibaba Cloud. Para obtener más información sobre los modos de conexión, consulte Scenario 1: Instance Mode (Current Cloud Account) y Scenario 2: Instance Mode (Other Cloud Account). |
|
Alibaba Cloud Account |
Seleccione la cuenta en la nube a la que pertenece la instancia. Si selecciona Another Alibaba Cloud Account, debe configurar permisos entre cuentas. Para obtener más información, consulte Cross-Account Authorization (RDS, Hive, or Kafka). Si selecciona otra cuenta en la nube, proporcione la siguiente información:
|
|
Region |
La región de la instancia. |
|
Instance |
Seleccione el nombre de la instancia a la que desea conectarse. |
|
Standby library settings |
Si su instancia de RDS tiene una read-only instance (instancia en espera), puede configurar tareas para leer datos desde ella. Esto evita que las operaciones de lectura afecten el rendimiento de la instancia principal. |
|
Instance Address |
Después de seleccionar la instancia correcta, haga clic en Get Latest Address para consultar información como su dirección pública/privada, VPC y vSwitch. |
|
Database |
El nombre de la base de datos a la que se conecta el origen de datos. Asegúrese de que el usuario especificado tenga los permisos necesarios para acceder a esta base de datos. |
|
Corresponding access identity |
Seleccione el origen de credenciales que utiliza DataWorks para acceder a MySQL. Se admiten las siguientes opciones:
|
|
Support OSS binlog reading |
Si se habilita, DataWorks intenta obtener los registros binlog de OSS cuando los registros binlog de RDS no son accesibles. Esto evita interrupciones en las tareas de sincronización en tiempo real. Para obtener más información, consulte Configure authorization for reading OSS binlogs. Según su configuración de autorización, establezca la OSS binlog access identity. |
|
Authentication Method |
Seleccione sin autenticación o autenticación SSL. Si selecciona autenticación SSL, asegúrese de que también esté habilitada en la instancia. Prepare el archivo de certificado y cárguelo en Authentication File Management. |
|
Version |
Inicie sesión en el servidor MySQL y ejecute la consulta |
Modo de cadena de conexión
También puede utilizar el modo de cadena de conexión para crear un origen de datos con mayor flexibilidad. Configure los parámetros de la siguiente manera:
|
Parámetro |
Descripción |
|
Data Source Name |
El nombre del origen de datos debe ser único dentro del espacio de trabajo. Se recomienda utilizar un nombre que identifique claramente el negocio y el entorno; por ejemplo, |
|
Connection Mode |
Seleccione User-created Data Store with Public IP Addresses. En este modo, se utiliza una URL JDBC para conectarse a la base de datos. |
|
Connection string preview |
Después de introducir la dirección de conexión y el nombre de la base de datos, DataWorks genera automáticamente una vista previa de la URL JDBC. |
|
Connection Address |
Dirección del host: Introduzca la dirección de acceso real del servidor de base de datos. Asegúrese de que la dirección sea accesible por red desde el resource group de DataWorks. Los escenarios comunes incluyen:
Si la base de datos es una instancia de RDS de Alibaba Cloud, puede encontrar la dirección en la página Database Connection de los detalles de la instancia. Número de puerto: El puerto de la base de datos. El valor predeterminado es 3306. |
|
Database Name |
El nombre de la base de datos a la que se conecta el origen de datos. Asegúrese de que el usuario especificado tenga los permisos necesarios para acceder a esta base de datos. |
|
Corresponding access identity |
Seleccione el origen de credenciales que utiliza DataWorks para acceder a MySQL. Se admiten las siguientes opciones:
|
|
Version |
Inicie sesión en el servidor MySQL y ejecute la consulta |
|
Authentication Method |
Seleccione sin autenticación o autenticación SSL. Si selecciona autenticación SSL, asegúrese de que también esté habilitada en la instancia. Prepare el archivo de certificado y cárguelo en Authentication File Management. |
|
Advanced Parameters |
Parámetro: Seleccione un parámetro compatible en la lista desplegable; por ejemplo, Valor: Introduzca un valor adecuado para el parámetro seleccionado; por ejemplo, La URL JDBC se actualiza automáticamente a: Por ejemplo, si encuentra errores relacionados con la zona horaria o necesita especificar una, haga clic en Add Property, seleccione |
Asegúrese de que el resource group de DataWorks pueda conectarse a la base de datos. De lo contrario, las tareas posteriores fallarán. La configuración de red depende del entorno de la base de datos y del modo de conexión del origen de datos. Para obtener más información, consulte Test connectivity.
Flujo de trabajo de sincronización de MySQL
Para obtener información sobre el punto de entrada y el procedimiento para configurar una tarea de sincronización, consulte las siguientes guías de configuración.
Configurar la sincronización sin conexión de tabla única
Consulte Wizard mode configuration y Script mode configuration para ver el procedimiento.
Consulte Appendix: MySQL sample script and parameter reference para ver todos los parámetros del modo script y un script de ejemplo.
Configurar la sincronización en tiempo real de tabla única
Consulte Real-time synchronization task configuration (Legacy) para ver el procedimiento.
Configurar la sincronización de base de datos completa
Consulte Full database real-time synchronization task configuration para ver el procedimiento.
Preguntas frecuentes
Error during real-time synchronization from a MySQL data source
Why does real-time synchronization for a MySQL data source slow down?
Para otros problemas comunes de Data Integration, consulte Data Integration FAQ.
Apéndice: Ejemplos de scripts y parámetros de MySQL
Configurar una tarea de sincronización por lotes mediante el editor de código
Si desea configurar una tarea de sincronización por lotes mediante el editor de código, debe configurar los parámetros relacionados en el script según los requisitos unificados de formato de script. Para obtener más información, consulte Script mode configuration. La siguiente información describe los parámetros que debe configurar para los orígenes de datos cuando configura una tarea de sincronización por lotes mediante el editor de código.
Ejemplos de scripts de Reader
Los siguientes ejemplos muestran configuraciones para una sola tabla en una sola base de datos y para tablas fragmentadas.
Los comentarios en los siguientes ejemplos JSON son solo con fines demostrativos. Elimine los comentarios antes de ejecutar el script.
-
Tabla única en una base de datos única
{ "type": "job", "version": "2.0",// The version number. "steps": [ { "stepType": "mysql",// The connector name. "parameter": { "column": [// The columns to read. "id" ], "connection": [ { "querySql": [ "select a,b from join1 c join join2 d on c.id = d.id;" ], "datasource": ""// The data source name. } ], "where": "",// The filter condition. "splitPk": "",// The shard key. "encoding": "UTF-8"// The encoding format. }, "name": "Reader", "category": "reader" }, { "stepType": "stream", "parameter": {}, "name": "Writer", "category": "writer" } ], "setting": { "errorLimit": { "record": "0"// The maximum number of allowed dirty data records. }, "speed": { "throttle": true,// Set to true to enable rate limiting. If false, rate limiting is disabled and the 'mbps' parameter is ignored. "concurrent": 1,// The number of concurrent threads. "mbps": "12"// The rate limit. 1 mbps = 1 MB/s. } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } } -
Tablas fragmentadas
NotaMySQL Reader puede leer datos de varias tablas MySQL que tienen el mismo esquema. En este contexto, "tablas fragmentadas" se refiere a un escenario donde los datos de varias tablas de origen se escriben en una sola tabla de destino. Para sincronizar tablas fragmentadas a nivel de base de datos, create a task in Data Integration y seleccione la función de fragmentación de base de datos completa.
{ "type": "job", "version": "2.0", "steps": [ { "stepType": "mysql", "parameter": { "indexes": [ { "type": "unique", "column": [ "id" ] } ], "envType": 0, "useSpecialSecret": false, "column": [ "id", "buyer_name", "seller_name", "item_id", "city", "zone" ], "tableComment": "Test order table", "connection": [ { "datasource": "rds_dataservice", "table": [ "rds_table" ] }, { "datasource": "rds_workshop_log", "table": [ "rds_table" ] } ], "where": "", "splitPk": "id", "encoding": "UTF-8" }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": {}, "name": "Writer", "category": "writer" }, { "name": "Processor", "stepType": null, "category": "processor", "copies": 1, "parameter": { "nodes": [], "edges": [], "groups": [], "version": "2.0" } } ], "setting": { "executeMode": null, "errorLimit": { "record": "" }, "speed": { "concurrent": 2, "throttle": false } }, "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] } }
Parámetros de Reader
|
Parámetro |
Descripción |
Obligatorio |
Predeterminado |
|
datasource |
El nombre del origen de datos desde el cual leer. Debe coincidir con un origen de datos configurado en el editor de código. |
Sí |
Ninguna |
|
table |
El nombre de la tabla de origen que se va a sincronizar. Una tarea de Data Integration solo puede leer datos de una tabla lógica. Los siguientes ejemplos muestran cómo usar patrones avanzados para el parámetro
Nota
La tarea lee las columnas especificadas en el parámetro |
Sí |
Ninguna |
|
column |
Una matriz JSON que especifica las columnas que se van a leer de la tabla de origen. Para seleccionar todas las columnas, utilice
|
Sí |
Ninguna |
|
splitPk |
Cuando MySQL Reader extrae datos, especificar el parámetro
|
No |
Ninguna |
|
splitFactor |
El factor de fragmentación. Este parámetro controla cuántos fragmentos se crean. Si se habilita la concurrencia, los datos se dividen en Nota
Rango recomendado: 1 a 100. Un valor demasiado grande puede causar un error de memoria insuficiente (OOM). |
No |
5 |
|
where |
Una condición de filtro. En un escenario típico, para sincronizar solo los datos del día actual, puede establecer la condición
|
No |
Ninguna |
|
querySql (Disponible solo en el editor de código; no compatible con la interfaz de usuario sin código.) |
En algunos casos de uso, el parámetro Nota
El parámetro |
No |
Ninguna |
|
useSpecialSecret |
Especifica si se debe utilizar la contraseña individual de cada origen de datos cuando hay configurados varios orígenes de datos. Valores válidos:
Si varios orígenes de datos tienen diferentes nombres de usuario y contraseñas, establezca este parámetro en true para utilizar las credenciales de cada origen de datos respectivo. |
No |
false |
Ejemplo de script de Writer
{
"type": "job",
"version": "2.0",// The version number.
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "mysql",// The connector name.
"parameter": {
"postSql": [],// The SQL statements to run after the task.
"datasource": "",// The data source name.
"column": [// The columns to write to.
"id",
"value"
],
"writeMode": "insert",// The write mode. Valid values: insert, replace, and update.
"batchSize": 1024,// The number of records per batch.
"table": "",// The destination table name.
"nullMode": "skipNull",// The policy for handling NULL values.
"skipNullColumn": [// The columns for which to skip NULL values.
"id",
"value"
],
"preSql": [
"delete from XXX;"// The SQL statements to run before the task.
]
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {// The maximum number of allowed dirty data records.
"record": "0"
},
"speed": {
"throttle": true,// Set to true to enable rate limiting. If false, rate limiting is disabled and the 'mbps' parameter is ignored.
"concurrent": 1,// The number of concurrent threads.
"mbps": "12"// The rate limit in MB/s to prevent excessive I/O pressure on the databases. 1 mbps = 1 MB/s.
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parámetros del escritor
|
Parámetro |
Descripción |
Obligatorio |
Predeterminado |
|
datasource |
Nombre del origen de datos de destino. Debe coincidir con un origen de datos configurado en el editor de código. |
Sí |
Ninguna |
|
table |
Nombre de la tabla de destino. |
Sí |
Ninguna |
|
writeMode |
Modo de escritura. Las opciones compatibles corresponden a las instrucciones de MySQL
|
No |
insert |
|
nullMode |
Especifica la política para manejar valores NULL del origen. Valores válidos:
Importante
Cuando se configura como skipNull, la tarea construye dinámicamente instrucciones SQL para escribir datos y así admitir valores predeterminados en el destino. Esto aumenta el número de operaciones FLUSH y reduce la velocidad de sincronización. En el peor de los casos, la tarea ejecutará FLUSH una vez por cada registro de datos. |
No |
writeNull |
|
skipNullColumn |
Cuando nullMode se establece en skipNull, las columnas especificadas por este parámetro no se fuerzan a Formato: |
No |
Todas las columnas configuradas para la tarea. |
|
column |
Las columnas de destino donde se escribirá, especificadas como un arreglo JSON de cadenas. Ejemplo: |
Sí |
Ninguna |
|
preSql |
Una o más instrucciones SQL para ejecutar antes de que comience la tarea de sincronización. La interfaz sin código solo admite una instrucción, mientras que el editor de código admite varias. Por ejemplo, puede borrar los datos existentes de una tabla: Nota
No se admiten transacciones para múltiples instrucciones SQL. |
No |
Ninguna |
|
postSql |
Una o más instrucciones SQL para ejecutar después de que finalice la tarea de sincronización. La interfaz sin código solo admite una instrucción, mientras que el editor de código admite varias. Por ejemplo, puede agregar una columna de marca de tiempo mediante la siguiente instrucción: Nota
No se admiten transacciones para múltiples instrucciones SQL. |
No |
Ninguna |
|
batchSize |
Número de registros por lote de escritura. Valores más altos reducen los ciclos de ida y vuelta de red y pueden mejorar el rendimiento, pero establecer un valor demasiado alto puede provocar un error de memoria insuficiente (OOM). |
No |
256 |
|
updateColumn |
Cuando |
No |
Ninguna |