BladePipe 1.9.0: New data pipelines, faster Oracle writes, and improved stability.
跳到主要内容

MySQL 到 SQL Server

选择对端数据库:

数据链路

基本功能

功能说明
Schema Migration

If the target schema does not exist, BladePipe will automatically generate and execute CREATE statements based on the source metadata and the mapping rule.

Full Data Migration

Migrate data by sequentially scanning data in tables and writing it in batches to the target database.

Incremental Data Sync

Sync of common DML like INSERT, UPDATE, DELETE is supported.
UPDATE and DELETE for tables without primary keys are not synced by default (manual selection required).

Data Verification and Correction

Verify all existing data. Optionally, you can correct the inconsistent data based on verification results. Scheduled DataTasks are supported.
For more information, see Create Verification and Correction DataJob.

Subscription Modification

Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription.

Position Resetting

Reset positions by file position or timestamp. Allow re-consumption of incremental data logs in a past period or since a specific Binlog file and position.

Table Name Mapping

Support the mapping rules, namely, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase, truncating the name by "_digit" suffix.

DDL Synchronization
  • ALTER TABLE ADD COLUMN, DROP COLUMN, MODIFY COLUMN, CHANGE COLUMN
  • ADD INDEX
  • RENAME TABLE
  • CREATE TABLE (whole Database Sync)
  • Table partitioning
  • Other compatible DDL
Metadata Retrieval

Retrieve the target metadata with filtering conditions or target primary keys set from the source table.

高级功能

功能说明
全量前清空目标数据

运行全量任务前清除老数据,包括重跑任务、定时全量迁移都会触发此能力

重建目标表

运行全量任务前重建目标表,包括重跑任务、定时全量迁移都会触发此能力

增量写入冲突策略

IGNORE: 主键冲突则忽略(不做写入),REPLACE: 主键冲突则整行替换

0 值时间处理

支持将 0 值时间设置成不同类型的值,防止写入对端报错

Removal of Target Data before Full Data Migration

Remove the existing data in the Target before running the Full Data Migration, applicable for DataJobs reruning and scheduled Full Data migrations.

Recreating Target Table

Recreate target tables before running the Full Data Migration, applicable for DataJobs reruning and scheduled Full Data migrations.

Custom Code

For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code.

Setting Target Primary Key

Change the primary key to another field to facilitate data aggregation and other operations.

Data Filtering Conditions

Support data filtering using WHERE conditions, with SQL-92 as the SQL language. For more information, see Data Filtering.

限制和注意点

限制项说明
MySQL 存储引擎

支持 InnoDB, MySIAM, 阿里云 XEngine, 其他存储引擎暂未测试

MySQL 字符集

支持 utf8, utf8mb4, latin1, 其他编码暂未测试


源端数据源

前置条件

条件说明
账号权限

文档:MySQL / MariaDB 需要的权限

开启 Binlog

[mysqld]
log-bin=mysql-bin # 开启 Binlog
binlog-format=ROW # 选择 ROW 模式
binlog_row_image=FULL # 变更带所有列数据

任务参数

参数名称说明
parseBinlogParallel

增量解析 Binlog 的并发数

parseBinlogBufferSize

用于增量解析 Binlog 的环形队列大小

maxTransactionSize

单事务最大数据条数,超过则分段刷出

limitThroughputMb

限制增量 Binlog 流量

extraDDL

兼容额外的 DDL 同步,包括 PT, GHOST, ALI_DMS, PT_GHOST

fullDataSqlConditionEnabled

将过滤条件拼入 SQL 中进行源端数据扫描,此参数只针对全量迁移有效

srcTimeZone

源端时区,例如 +08:00, Asia/Shanghai, America/New_York 等

Tips: 通用参数配置请参考 通用参数及功能


目标端数据源

前置条件

条件说明
账号权限

文档:SQL Server 需要的权限

网络准备

迁移同步节点(sidecar)可连接 SQL Server 标准交互接口(如 1433)

任务参数

参数名称说明
keyConflictStrategy

增量写入遇到主键冲突策略:

  • IGNORE 冲突忽略(默认)
  • REPLACE 冲突替换(可选)

dstWholeReplace

将 INSERT 和 UPDATE 操作变成对端的整行覆盖

enableTimeZoneProcess

是否对时间字段进行时区转换

timezone

目标端 SQL Server 时区,例如 +08:00 Asia/Shanghai America/New_York

defaultZeroDate

在遇到'0000-00-00 00:00:00' / '0000-00-00' 值时用于替换的默认值,可选参数有:

  • null (空值)
  • 时间 (14:23:33)
  • 日期 (1970-01-01)
  • 时间日期 (1970-01-01 00:00:00),
  • 时区时间 (14:23:33+08:00 或 1970-01-01 00:00:00+08:00)
caseSensitive

对端写入SQL语句表名大小写策略,包含

  • UpperCase (转大写)
  • LowerCase (转小写)
  • Sensitive (添加限定符)
  • NoSpecified (不转换/不加限定符)
writeStrategy

对端写入策略,包含

  • ROW (单条)
  • MULTI_SQL (多语句)
  • BATCH (批量,默认选项)

Tips: 通用参数配置请参考 通用参数及功能