有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 迁移服务平台 > 迁移工具 > 数据库迁移批量辅助工具

概述

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

使用环境

系统环境

Windows、Linux 和 macOS 系统。

步骤1:获取工具

2. 在迁移服务概览中,找到数据库批量迁移辅助工具,单击下载

步骤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 控制台查看。