Table of Contents

openGauss学习笔记-314 openGauss 数据迁移-MySQL迁移-迁移MySQL数据库至openGauss-全量迁移

314.1 功能介绍

全量迁移gs_mysync是一个用Python3编写的将MySQL迁移至openGauss的复制工具,支持初始全量数据的复制功能。gs_mysync通过一次初始化配置,使用只读模式,将MySQL的数据全量拉取到openGauss。支持在同一快照下,表间数据并行迁移。

全量迁移支持的功能:支持表及表数据、视图、触发器、自定义函数、存储过程的全量迁移

314.2 特性优势

基于sysbench测试模型,2路鲲鹏920 CPU、openEuler操作系统下,MySQL数据库10张表(无主键)单表数据量在500万以上时,gs_mysync使用20并发迁移数据至openGauss,整体全量迁移性能可达300M/s以上。

314.3 环境准备

ARM+openEuler 20.03 或 X86+CentOS 5.7

314.4 操作步骤

全量迁移gs_mysync依赖MySQL一键式迁移工具gs_rep_portal,可实现全量迁移的安装、启动、停止、卸载整个过程。

314.4.1 下载gs_rep_portal
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/tools/portal/PortalControl-5.0.0.tar.gz
  • 1.

解压,并进入portal对应目录

tar -zxvf PortalControl-5.0.0.tar.gz
cd portal
  • 1.
  • 2.
314.4.2 修改gs_rep_portal配置文件

配置文件位于config目录内,全量迁移相关的配置文件主要包含如下两个,相关参数含义简要说明如下:

  • toolspath.properties
# 全量迁移python虚拟环境的路径,可自定义修改
chameleon.venv.path=/ops/portal/tools/chameleon/
# 全量迁移用户相关路径
chameleon.path=~/.pg_chameleon/
# 全量迁移在线whl包的下载路径
chameleon.pkg.url=https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/chameleon/chameleon-5.0.0-py3-none-any.whl
# 全量迁移安装包的路径,可自定义修改
chameleon.pkg.path=/ops/portal/pkg/chameleon/
# 全量迁移安装包的名称
chameleon.pkg.name=chameleon-5.0.0-py3-none-any.whl
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • migrationConfig.properties
# 用于指定全量迁移是否迁移对象,包括函数、存储过程、触发器、视图,默认为yes;若设置为no,表示不迁移对象
snapshot.object=yes
# mysql用户名
mysql.user.name=root
# mysql密码
mysql.user.password=***
# mysql数据库ip
mysql.database.host=127.0.0.1
# mysql数据库端口
mysql.database.port=3306
# mysql数据库名称
mysql.database.name=test123
# openGauss用户名
opengauss.user.name=test
# openGauss密码
opengauss.user.password=***
# openGauss数据库ip
opengauss.database.host=127.0.0.1
# openGauss数据库端口
opengauss.database.port=5432
# openGauss数据库名称
opengauss.database.name=test1234
# openGauss数据库的schema名称
opengauss.database.schema=test123
# 全量迁移的安装方式,默认为offline,表示离线安装,需通过参数chameleon.pkg.path指定离线安装包的路径;若设置为online,对应在线安装,在线下载的安装包将存放在参数chameleon.pkg.path指定的路径
default.install.mysql.full.migration.tools.way=offline
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
314.4.3 安装
sh gs_mysync.sh install workspace.id
  • 1.

其中workspace.id表示迁移任务id,取值为数字和小写字母的组合,不同的id区分不同的迁移任务,不同迁移任务可并行启动。若未设置workspace.id,则使用其默认值1。若使用已存在的workspace.id,并修改其中的配置,请在portal/workspace/${workspace.id}/config/路径下修改对应的配置文件。

314.4.4 启动
sh gs_mysync.sh start workspace.id
  • 1.
314.4.5 停止
sh gs_mysync.sh stop workspace.id
  • 1.
314.4.6 卸载
sh gs_mysync.sh uninstall workspace.id
  • 1.

上述安装、启动、停止、卸载命令均不会在后台运行,若需在后台运行,请在命令后添加&符号。

原文链接: openGauss学习笔记-314 openGauss数据迁移-迁移MySQL数据库至openGauss-全量迁移

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

openGauss学习笔记-314 openGauss 数据迁移-MySQL迁移-迁移MySQL数据库至openGauss-全量迁移_国产数据库