迁移 MySQL 数据到 OceanBase 集群

0    190    2

Tags:

👉 本文共约2694个字,系统预计阅读时间或需11分钟。

说明

相关连接:

https://open.oceanbase.com/blog/10900159

https://open.oceanbase.com/answer/detail?id=20400030

练习目的

本次练习目的掌握从 MySQL 向 OceanBase 迁移数据的基本方法:mysqldump、datax 、canal 等。

练习条件

  • 有 服务器,内存资源至少 12G*1台 ,部署有 OceanBase 集群。
  • 有 mysql 数据库,有少量业务表和数据(数据量不要求很多)。没有业务表和数据的就推荐使用 sysbench、 tpcc 或者 tpch 的业务数据。

练习内容

请记录并分享下列内容:

  • (必选)使用 mysqldump 将 mysql的表结构和数据同步到 OceanBase 的MySQL 租户中。
  • (必选)使用 datax 配置至少一个表的 MySQL 到 OceanBase 的 MySQL 租户的离线同步。
  • (可选)使用 datax 配置至少一个表的 OceanBase 到 CSV 以及 CSV 到 OceanBase 的离线同步。
  • (可选)使用 canal 配置 MySQL 的增量同步到 OceanBase 的 MySQL 租户。

使用 mysqldump 将 mysql的表结构和数据同步到 OceanBase 的MySQL 租户中

源库:MySQL 5.7.36,IP地址:172.17.0.3,数据库:sbtest,10张表,每张表10万行数据

目标库:OB 3.1.1,IP地址:172.17.0.2,数据库:sbtest,租户:obmysql

使用sysbench给mysql环境生成数据

使用mysqldump导出

使用source命令导入数据

OB的环境参考:https://www.xmmup.com/oceanbase-dockeranzhuangtiyan.html

使用datax (离线)从 MySQL 同步表数据到 OceanBase

使用 datax 配置至少一个表的 MySQL 到 OceanBase 的 MySQL 租户的离线同步。

部署DATAX软件

有关dataX更多内容请参考:https://www.xmmup.com/alikaiyuanetlgongjuzhidataxhedatax-webjieshao.html

修改同步作业文件

启动同步作业

迁移 MySQL 数据到 OceanBase 集群

日志:

datax 实现 OceanBase 以 csv 格式的导入导出

OceanBase 以 csv 格式导出数据

生成 datax 配置 json 模板

修改 json 文件:

执行任务:

迁移 MySQL 数据到 OceanBase 集群

查看结果:

OceanBase 以 csv 格式导入数据

生成 datax 配置 json 模板

修改json文件:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

执行导入操作:

结果:

迁移 MySQL 数据到 OceanBase 集群

OB数据库查询:

  • 注意:

Path:需要给定文件的路径,该路径下不要有其他文件,执行会报错。

Canal 实现 mysql 与 OceanBase 的增量同步

使用 canal 配置 MySQL 的增量同步到 OceanBase 的 MySQL 租户。

参考:https://www.modb.pro/db/222647

https://open.oceanbase.com/blog/10900160

mysql源端开启二进制日志

部署 canal admin

参考:https://www.xmmup.com/alishujutongbugongjuotterhecanaljianjie.html

修改元数据库信息:

初始化元数据:

启动canal

过程:

查看 canal-admin 的 web 服务:

http://172.17.0.2:8089 admin/123456

迁移 MySQL 数据到 OceanBase 集群

迁移 MySQL 数据到 OceanBase 集群

这里,需要在图形界面修改密码为admin123 ,然后在mysql中查询:

部署canal deployer

下载安装canal deployer并解压

修改配置文件

canal Admin 部署 server 和 instance,配置文件 conf/canal_local.properties 替换 conf/canal.properties。需要修改 conf/canal.properties 里的 manager 地址,其他参数值可以保持默认。

这里是本机部署,需要修改canal.admin.passwd即可。

启动 canal-deployer 服务

查看:

通过 canal-admin 的 web 服务配置 canal server 和 canal instance

迁移 MySQL 数据到 OceanBase 集群

迁移 MySQL 数据到 OceanBase 集群

创建 canal instance 并启动

部署 canal adapter

修改RDB 映射文件:conf/rdb/mytest_user.yml

  • destination: 指定的是 canal instance 名称
  • outerAdapterKey: 指定的是application.yml文件中的key

启动 canal adapter 服务

进程: