腾讯云dts迁移MySQL
数据传输服务(dts)下分多个具体功能:包括数据迁移(migration)、数据同步(replication)
数据迁移特点:
- 支持跨账号迁移: 目前只支持MongoDB产品,MySQL、Redis等产品还未接入(可选【源接入类型】为“公网”以实现跨账号功能)
- 支持整实例迁移
- 迁移过程中目标库不能写
数据同步特点:
- 只支持MySQL产品同步数据(也是通过将一端的库设为公网地址实现跨账号功能)
- 不支持整实例迁移,需要人工手动迁移账号权限数据(如mysql.user表)
- 同步过程中目标库可写,默认情况下是单向同步,在满足一定条件下可以实现源、目标库双同步(目标库也需要公网地址)
两者最后都会处于一个增量同步的状态,可根据实际情况决定是否手动结束。
数据迁移–从公网迁移到云数据库操作步骤:
一、 新的(目标)腾讯云MySQL实例
版本不低于源数据库实例
初始化字符集,需要和源数据库实例一致
二、 源数据库实例开启公网地址
迁移前最好刷新生成新的binlog文件,以便操作以后的增量数据的同步
|
|
三、 新建数据迁移任务
地址: https://console.cloud.tencent.com/dts/migration?rid=4&page=1&pagesize=20
选择整实例,全量+增量
数据一致性的全量检测需要super权限,腾讯云MySQL不提供此权限,所以选择不进行检测
因为是冷备导出导入,所以非增量同步的数据可以不考虑数据一致性
增量同步过程中目标库处于只读状态,必须整个迁移任务完成之后才可以通知业务方更改数据库地址
5G的数据大概需要15分钟完成同步(根据数据库实例的配置)
四、 迁移完成后
更改业务的数据库地址
源数据库实例是否需要关闭公网地址
五、 如果源数据库实例再出现增量数据
尽量避免这种情况,可以通过禁止源库更新,通知业务方变更新库的IP地址。
因为传输任务完成后,则无法再次使用此任务进行增量同步。如果此后源数据库实例再出现修改,需要获取源库相应的binlog文件,使用mysqlbinlog导入。
相关操作步骤如下:
1、 根据要恢复到的时间点,确认需要同步的binlog文件并下载到有mysql相关工具的机器上;
如名为: mysql57_binlog_mysqlbin.001852
2、 根据迁移完成后的时间点(如'2021-06-17 12:01:00’),可以使用此时间点作为binlog文件的start-datetime,恢复操作如下
mysqlbinlog mysql57_binlog_mysqlbin.001852 --start-datetime='2021-06-17 12:01:00' | mysql -uroot -h hostname -P port -p
数据同步操作
一、 源库增加权限
|
|
二、 购买数据同步服务
购买页面: https://buy.cloud.tencent.com/dts
三、 进入同步任务配置页面进行配置
配置基本和数据迁移的配置相同