概述
使用环境
系统环境
Windows、Linux 和 macOS 系统。
步骤1:获取工具
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||taskName1mysql||extranet||-||-||-||3||1||-||3||0||5||5||5||ap-shanghai||rm-bp15l4gmk981e****||msptest||hlwFT2019||112.*.*.*||3306||-||-||-||aliyun||5.6||ap-shanghai||cdb-7canywo0||0||taskName2mysql||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