文档简介:
数据迁移与数据同步目前的支持的数据库?
数据迁移
- MySQL->MySQL
- Oracle->MySQL(公测期间暂不支持)
- PostgreSQL->PostgreSQL(公测期间暂不支持)
数据同步
- MySQL->MySQL
- PostgreSQL->PostgreSQL(公测期间暂不支持)
数据迁移与数据同步的区别?
数据迁移:主要用于上云迁移,例如将本地数据库、ECS上的自建数据库或第三方云数据库迁移至天翼云数据库。它属于一次性任务,迁移完成后即可释放实例。
数据同步:主要用于两个数据源之间的数据实时同步,适用于异地多活、数据灾备实时数据仓库等场景。它属于持续性任务,任务创建后会一直同步数据,保持数据源和数据目标的数据一致性。
迁移任务一直处于增量数据迁移阶段,什么时候结束?
增量数据迁移阶段,会进行源实例跟目标实例增量数据实时同步,不会自动结束。建议增量数据迁移无延迟时,业务在目标实例验证通过后,将业务切换到目标实例,并手动结束迁移任务。
支持将高版本实例的数据同步到低版本的实例吗?
不支持。同一个类型的数据库,目标实例的大版本必须不小于源实例。以 MySQL 实例为例,不支持 MySQL 5.7 的实例同步到 MySQL 5.6。
MySQL 迁移过程中是否会加锁?
DTS迁移任务过程中不会主动对源库表执行加锁操作。
源/目标实例发生 HA(High Availability)切换时,同步服务是否会受影响?
增量数据迁移阶段,源库若发生HA切换,任务会进入异常,用户需重新创建迁移/同步任务。若目标库发生HA切换,当任务目标库配置为VIP时,任务不会受影响,否则,任务也会进入异常。
是否支持非事务引擎?
有增量迁移时不支持同步非事务引擎的表。非事务引擎的库表,会破坏了事务的原子性,无法保证数据一致,不建议用户使用。
使用 DTS 进行数据迁移,对目标库有什么影响?
若目标库存在同名的带迁移表,且启动任务前忽略同名对象存在性校验的警告,可能造成数据不一致。
为什么全量迁移前后数据的大小不一致?
因为源库和目标库的碎片空间不一样,源库可能存在一些空洞数据,因此全量迁移完成后目标库的表存储空间很可能会比源库的表存储空间小。建议用户迁移完成后使用数据稽核来核对源库和目标库内容是否一致。
账户密码正确,DTS连接MYSQL8.0数据库失败?
检查数据库的密码加密方式是否为“mysql_native_passowrd”方式,MYSQL8.0的默认加密方式为“caching_sha2_password”。
解决办法:
配置 mysql.cnf 配置默认身份验证插件
[mysqld]
default_authentication_plugin = mysql_native_password
或者修改DTS用户的身份验证类型
mysql> ALTER USER ‘USERNAME’@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD’;
MySQL源库设置了global binlog_format = ROW没有立即生效
使用DTS进行MySQL的迁移或同步时,必须确保源库的binlog_format是ROW格式的,否则就会导致任务失败甚至数据丢失。
在源库设置了global级别的binlog_format=ROW之后,还需要中断之前所有的业务连接,因为设置之前的连接使用的还是非ROW格式的binlog写入。
安全设置global级binlog_format=ROW的步骤:
- 通过MySQL官方客户端或者其它工具登录源数据库;
- 在源数据库上执行全局参数设置命令。set global binlog_format = ROW;
- 在源数据库上执行如下命令确认上面操作已执行成功。select @@global.binlog_format;
binlog_row_image参数设置为FULL没有立即生效?
使用DTS进行MySQL迁移时,必须确保源库的binlog_row_image参数设置为FULL,否则就会导致任务失败。在源库设置了binlog_row_image=FULL之后,
为防止继续生成非全镜像日志导致任务失败,需选择一个非业务时间段,重启源数据库。
数据迁移/同步任务进入增量阶段之前能否对源库写入数据?
可以在源库执行dml操作,但不能执行ddl操作,否则可能会导致任务失败。
如何判断数据迁移任务可以停止?
在手动结束迁移任务之前,您需要确认完成以下几点:
- 至少有过一次完整的数据对比。
-
完成业务割接:
- 先中断业务(如果业务负载非常轻,也可以尝试不中断业务)。
- 在源数据库端执行如下“show processlist”语句(以MySQL为例),并观察在1-5分钟内若无任何新会话执行SQL ,则可认为业务已经完全停止。
- 实时同步时延为0,并稳定保持一段时间;同时,您可以使用数据稽查功能,进行割接前的最后一次数据级对比,耗时可参考之前的对比记录。
- 确定系统割接时机,业务系统指向目标数据库,业务对外恢复使用。
- 结束迁移任务,该操作仅删除了迁移实例,迁移任务仍显示在任务列表中,您可以进行查看或删除。