准备配置

最近更新时间:2023-03-14 17:44:14

查看PDF

准备配置

在启动DTS任务前,您需要配置目标端实例安全组并确认实例已赋予相应权限,以保证满足基本前置要求。具体配置说明如下:

安全组

适用场景 接入类型 操作指引
源数据库可以通过公网 IP 访问 公网 当使用DTS服务进行公网迁移时;需要将DTS外网IP段添加至安全组,以保障DTS服务能顺利访问到源实例。
源数据、目标数据库部署在金山云 VPC 需要将DTS所在内网的IP网段添加至目标实例的安全组中。

1、当您使用DTS服务进行公网迁移时;需要将DTS外网IP段添加至安全组,以保障DTS服务能顺利访问到源实例。

DTS外网IP段:

120.92.198.0/24、120.92.128.85/32、104.250.42.182/32、110.43.53.194/32、110.43.203.60/32、107.155.53.2/32
2、当源端和目标端数据库实例类型为云数据库RDS的情况下,请您将DTS内网IP段添加到所需访问的源端和目标端数据库实例关联的安全组中,保证DTS服务可以访问到对应的源端和目标端云数据库RDS。

注意:在跨区域迁移的时候,源实例不仅需要添加其所在区的IP网段,还需要添加目标实例所在区的IP网段。
DTS内网IP段:
区域 IP地址段
北京 10.78.9.0/24
上海 10.96.0.73/32、10.100.56.0/24
广州 100.71.12.0/24
香港 10.169.85.0/24
华北金融 100.75.5.0/24
俄罗斯 100.72.12.0/24

权限检查

源库权限

根据源端实例类型, 授权源库迁移账号登录DTS外网或内网IP网段的权限,授权源库迁移账号具备SELECT, RELOAD, LOCK TABLES,REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW, EXECUTE,PROCESS, EVENT权限。

授权语句:

GRANT SELECT, RELOAD, LOCK TABLES,REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW, EXECUTE,PROCESS, EVENT on *.* TO 'user'@'host' IDENTIFIED BY 'password';

说明:根据实际情况设置 user、host、password参数;

如果需要一致性校验:

源库账号需要具备CREATE,DROP,UPDATE,INSERT,SUPER 权限

授权语句

GRANT SELECT, RELOAD, LOCK TABLES,REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW, EXECUTE,PROCESS, EVENT, CREATE, DROP, UPDATE, INSERT, SUPER on *.* TO 'user'@'host' IDENTIFIED BY 'password';

查看当前用户的权限:

查看当前用户:

mysql> select CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| [email protected] |
+----------------+
1 row in set (0.00 sec)

查看该用户权限:

mysql> show grants for [email protected]'localhost';

预检查项

源库连接性检查

  • 检查数据传输服务器是否能连通源数据库
  • 检查失败解决方案:请检查源数据库IP地址、端口、账户、密码是否正确,防火墙是否设置正确

目的库连接性检查

  • 检查数据传输服务器是否能连通目的数据库
  • 检查失败解决方案:请检查目标数据库账户、密码是否正确

源库版本检查

  • 检查源数据库的版本号
  • 检查失败解决方案:当前DTS支持迁移源数据库版本为MySQL5.5、MySQL5.6、MySQL5.7

源库权限检查

  • 检查源数据库的帐号权限是否满足迁移要求
  • 检查失败解决方案:DTS源数据库账户需具有Super权限

目的库权限检查

  • 检查目的数据库的帐号权限是否满足迁移要求
  • 检查失败解决方案:DTS目标数据库账户需具有读写权限

同名对象存在性检查

  • 检查目的库是否存在跟待迁移对象同名的结构对象
  • 检查失败解决方案:请修改迁移对象或者修改目的库名(是否可以指定目的库名和表名)

源端同名对象存在性检查

  • 检查源库schema的所有对象是否都存在
  • 检查失败解决方案:请修改迁移对象,确保迁移对象存在

源库server_id检查

  • 检查源数据库是否设置server_id大于1
  • 检查失败解决方案:源库server_id设置错误,请修改server_id大于1,修改命令为 set global server_id = xx

源库binlog开启检查

  • 检查源数据库是否开启binlog
  • 检查失败解决方案:源库未开启binlog, 请添加如下配置至源库 MySQL 配置文件my.cnf,并重启;log-bin=[自定义binlog文件名]

源库日志模式检查

  • 检查源数据库的日志模式是否合法
  • 检查失败解决方案:请设置源库binlog为row格式,修改命令为set global binlog_format=ROW;

约束完整性检查

  • 检查迁移表依赖的外键父表是否迁移
  • 检查失败解决方案:请将迁移表依赖的父表与迁移表一并迁移

存储引擎检查

  • 检查迁移表是否有不支持的存储引擎
  • 检查失败解决方案:请修改迁移对象,迁移对象支持MyISAM和INNODB引擎

系统变量检查

  • 检查源库和目的库中的关键系统变量是否一致
  • 检查失败解决方案:请将参数$v1, $v2 修改一致 (注意 data字段样例 {variablelist: “lower_case_table_names”})

检查MySQL密码格式

  • 检查MySQL是否使用老的密码格式
  • 检查失败解决方案:不支持老密码格式的数据库迁移

检查源库字符集

  • 检查迁移表是否有不支持的字符集
  • 检查失败解决方案:请修改迁移对象的字符集修改为utf8、gbk、latin1、utfmb4 中的一种

提醒:DTS数据迁移任务分为冷备数据导出和增量数据同步两步。其中,冷备数据导出以及迁移后的数据对比过程会对源库负载产生一定的影响,建议在业务低峰期或在备库上做数据库迁移。

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈