文档中心 > 迁移服务平台 > 迁移工具 > 数据库迁移批量辅助工具

数据库迁移批量辅助工具

最近更新时间:2020-07-14 15:08:32

概述

对于需要迁移大量数据库的场景,为提高迁移期间操作 数据传输服务 DTS 的效率,MSP 提供了“数据库批量迁移辅助工具”,帮助客户可以批量创建、启动、校验、结束任务。

使用环境

系统环境

Windows、Linux 和 macOS 系统。

步骤1:获取工具

前往下载 数据库批量迁移辅助工具

步骤2:解压工具包

解压工具包,解压并保存到某个目录,例如:

unzip batch-dts-cmd-1.1.3.zip && cd batch-dts-cmd

步骤3:工具目录结构

正确解压后的工具目录结构如下所示:

batch-dts-cmd
|— linux
|    |— batchDtsCmd    # Linux 版本工具执行文件
|— logs                 # 工具执行中生成的日志
|— mac
|    |— batchDtsCmd    # macOS 版本工具执行文件
|— windows
|    |— batchDtsCmd    # Windows 版本工具执行文件
|— miTask.txt           # 批量任务列表的示例文件
|— readme               # 工具使用说明

步骤4:准备批量任务列表

数据库批量迁移辅助工具使用任务列表来进行批量任务的操作,任务列表为纯文本文件,文件中的每一行代表一个迁移任务记录,每条记录有28个字段,字段定义如下:

字段序号 字段 填写内容
1 SrcDatabaseType 源库类型 mysql、redis
2 SrcAccessType 接入类型 extranet(外网)、CVM(CVM 自建实例)、dcg(专线接入的实例)、vpncloud(云 VPN 接入的实例)、cdb(腾讯云数据库实例)、ccn(云联网实例)
3 UniqDcgId 专线网关 ID,无效可填写“-”
4 VpcId 私有网络 ID,无效可填写“-”
5 SubnetId 子网 ID,无效可填写“-”
6 MigrateType 迁移类型:1(结构迁移)、2(全量迁移)、3(全量+增量迁移)。无效可填写“-”
7 MigrateObject 指定库表迁移:1(整个实例)、2(指定库表)。无效可填写“-”
8 DataBaseInfo 库表,仅当 migrate_object=2 时生效,字符串类型,例如:'[{"Database":"test","Table":["user","log"]}]',如不使用“-”
9 ConsistencyType 检验,抽样数据一致性检测参数,1-未配置,2-全量检测,3-抽样检测,4-仅校验不一致表,5-不检测。结构迁移和全量迁移,只能填5,无效可填写“-”
10 IsOverrideRoot 是否用源库 Root 账户覆盖目标库,值包括:0-不覆盖,1-覆盖,选择库表或者结构迁移时应该为0
11 SelectRowsPerTable 数据内容检测参数。表中选出用来数据对比的行,占表的总行数的百分比。取值范围是整数[1-100]
12 TablesSelectAll 数据内容检测参数。迁移库表中,要进行数据内容检测的表,占所有表的百分比。取值范围是整数[1-100]
13 TablesSelectCount 数据数量检测,检测表行数是否一致。迁移库表中,要进行数据数量检测的表,占所有表的百分比。取值范围是整数[1-100]
14 SrcRegion 源数据库对应区域(对应腾讯云侧区域),无效可填写“-”
15 SrcInstanceId 源实例 ID,无效可填写“-”
16 SrcUser 源数据库账号,无效可填写“-”
17 SrcPassword 源数据库密码,无效可填写“-”
18 SrcInstanceIp 源实例的 IP 地址,无效可填写“-”
19 SrcInstancePort 源实例的端口,无效可填写“-”
20 UniqVpnGwId VPN 网关 ID,无效可填写“-”
21 CcnId 云联网 ID,无效可填写“-”
22 CvmInstanceId CVM 实例短 ID,格式如:ins-olgl39y8,与云服务器控制台页面显示的实例 ID 相同。如果是 CVM 自建实例,需要传递此字段,无效可填写“-”
23 SrcSupplier 服务商 aliyun、others,无效可填写“-”
24 EngineVersion 数据库版本,当实例为 RDS 实例时才有效,格式如:5.6或者5.7,默认为5.6
25 DstRegion 迁移目标地域(腾讯云侧地域),无效可填写“-”
26 DstInstanceId 迁移目标实例 ID(腾讯云侧 CDB),无效可填写“-”
27 ReadOnly 目前只对 MySQL 有效。当为整实例迁移时,1-只读,0-可读写。
28 TaskName 用户指定的任务名,可填写“-”时将由工具指定文件名

公网迁移阿里云 RDS 的配置文件示例:

mysql||extranet||-||-||-||1||1||-||5||0||-||-||-||ap-shanghai||rm-bp15p360cw55n****||msptest||hlwFT2019||112.*.*.*||3306||-||-||-||aliyun||5.6||ap-shanghai||cdb-4hrbfdcy||1||taskName1
mysql||extranet||-||-||-||3||1||-||3||0||5||5||5||ap-shanghai||rm-bp15l4gmk981e****||msptest||hlwFT2019||112.*.*.*||3306||-||-||-||aliyun||5.6||ap-shanghai||cdb-7canywo0||0||taskName2
mysql||extranet||-||-||-||3||2||[{"Database":"test","Table":["user","log"]}]||5||0||-||-||-||ap-shanghai||rm-bp1155k689247****||msptest||hlwFT2019||121.*.*.*||3306||-||-||-||aliyun||5.7||ap-shanghai||cdb-ihkoch9q||1||taskName3

步骤5:执行命令

数据库批量迁移辅助工具调用方式为:

batchDtsCmd -type <操作类型> -dst_secretId <腾讯云 secretid> -dst_secretKey <腾讯云 secretkey> -src_ak <源 accesskey> -f <任务列表文件>

操作类型 type 可选参数为:

  • create:创建数据迁移任务。
  • check:创建校验迁移任务。
  • checkResult:获取迁移校验结果。
  • start:启动数据迁移任务。
  • finish:完成数据迁移任务。
  • delete:删除迁移任务。

命令行调用示例:

查看工具版本号
# ./batchDtsCmd -v

批量创建迁移任务
# ./batchDtsCmd -type create -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -src_ak XXXXXXX -f miTask.txt

批量校验迁移任务
# ./batchDtsCmd -type check -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list

批量获取迁移校验结果
# ./batchDtsCmd -type checkResult -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list

批量启动迁移任务
# ./batchDtsCmd -type start -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list

批量完成(停止)迁移任务
# ./batchDtsCmd -type finish -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list

批量删除迁移任务
# ./batchDtsCmd -type delete -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list

步骤6:执行结果

数据库批量迁移辅助工具的执行结果,请前往 数据传输服务 DTS 控制台查看。

目录