操作场景
数据传输服务 DTS 支持数据迁移功能,提供自建 MySQL 数据库到云数据库 TencentDB 的连续数据复制,用户可在不停服的情况下对数据进行在线热迁移,支持具有公网 IP/Port 或专线接入腾讯云的本地 IDC 或腾讯云 CVM 上 MySQL 数据库迁移。现已支持 MySQL 5.7 数据传输服务。
预先检查项
- 检查目标 TencentDB 实例是否有同名库表,避免冲突。
- 检查数据库版本,可支持 MySQL 5.1/5.5/5.6/5.7 版本迁移上云;由于目前腾讯云 TencentDB 已不再支持 MySQL 5.1 版本,因此我们推荐您在迁移前完成 MySQL 5.1 升级到 MySQL 5.5,然后再迁移至 TencentDB for MySQL 5.5。当然您也可以选择使用 DTS 数据迁移工具直接从本地 MySQL 5.1 迁移至腾讯云 TencentDB for MySQL 5.5。
DTS 数据迁移任务分为冷备数据导出和增量数据同步两步,其中,冷备数据导出以及迁移后的数据对比过程会对源库负载产生一定的影响,建议在业务低峰期或在备库上做数据库迁移
开始搭建
1、准备源和目的环境
源:cvm自建mysql 5.7.17
目的:mysql 5.7
难受,刚起步就报错
那就根据报错来排查吧,根据这里的提示(其实对于我当前的问题并没有用),我想起来了,我自建的mysql没开启远程访问或者说没有我的root账号只能本地登录,两个方向吧
1.1、创建一个专门用来同步的账号(建议)
mysql> grant all privileges on *.* to 'replicate'@'%' identified by '1234';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
1.2、修改root账号的host的值
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
2、选择需要迁移对象
(因为我这里是新建的实例,没做过什么配置,所以会遇到大部分的配置报错)
2.1 失败原因:源实例没有开启log-bin
解决方案:自建mysql配置文件添加 log-bin=mysql-bin
2.2 全量校验内容如下
我的数据少,迁移很快,目前是在增量中,至此这个任务算是简单的完成了。
注意:这里因为选择的是全量迁移,所以会把mysql的user表迁移过来,此时如果我们对cdb mysql 设置了root账号,等迁移完毕后,用root账号登录的时候的密码是我们自建mysql的root密码
其实如果是生产业务数据迁移,还是会有部分问题的,后面继续整理这里可能遇到的问题