迁移mysql数据库到opengauss

news2024/9/21 16:41:24

一、安装chameleon工具

1.下载源码

git clone git@gitee.com:opengauss/openGauss-tools-chameleon.git

2.创建Python虚拟环境并激活

安装依赖:

yum install mysql-devel gcc gcc-devel python-devel

python3 -m venv venv

source venv/bin/activate

3.进入代码的目录,执行python install命令安装

cd openGauss-tools-chameleon

python3 setup.py install

二、修改mysql端

1.mysql端创建用户usr_replica并授权

mysql -u root -p

创建数据库db_smis

创建用户并授权:

CREATE USER usr_replica IDENTIFIED BY 're@1qazx';

GRANT ALL ON db_smis.* TO 'usr_replica';

GRANT RELOAD ON *.* to 'usr_replica';

GRANT REPLICATION CLIENT ON *.* to 'usr_replica';

GRANT REPLICATION SLAVE ON *.* to 'usr_replica';

2.修改mysql配置文件my.cnf

mysqld节点加入如下内容:

[mysqld]

binlog_format = ROW

log_bin = mysql-bin

server_id = 1

binlog_row_image = FULL

gtid_mode = ON

enforce-gtid-consistency=on

3.重启mysql:systemctl restart mysql。

三、修改chameleon配置文件

1.切换用户smis,创建chameleon配置文件目录

su smis

chameleon set_configuration_files

cd /home/smis/.pg_chameleon/configuration/

复制一份默认的配置文件模板保存为default.yml:

cp config-example.yml default.yml

2.修改配置文件

vim default.yml,修改为如下内容:

---

# global settings

pid_dir: '~/.pg_chameleon/pid/'

log_dir: '~/.pg_chameleon/logs/'

log_dest: file

log_level: info

log_days_keep: 10

rollbar_key: ''

rollbar_env: ''

# type_override allows the user to override the default type conversion

# into a different one.

type_override:

"tinyint(1)":

override_to: boolean

override_tables:

- "*"

# postgres destination connection

pg_conn:

host: "192.168.132.153"

port: "5432"

user: "gaussdb"

password: "gaussdb@1qazx"

database: "db_smis"

charset: "utf8"

sources:

mysql:

readers: 4

writers: 4

db_conn:

host: "192.168.132.153"

port: "3306"

user: "usr_replica"

password: "re@1qazx"

charset: 'utf8'

connect_timeout: 10

schema_mappings:

db_smis: db_smis

limit_tables:

skip_tables:

grant_select_to:

- usr_readonly

lock_timeout: "120s"

my_server_id: 100

replica_batch_size: 10000

replay_max_rows: 10000

batch_retention: '1 day'

copy_max_memory: "300M"

copy_mode: 'file'

out_dir: /tmp

sleep_loop: 1

on_error_replay: continue

on_error_read: continue

auto_maintenance: "disabled"

gtid_enable: false

type: mysql

skip_events:

insert:

- delphis_mediterranea.foo # skips inserts on delphis_mediterranea.foo

delete:

- delphis_mediterranea # skips deletes on schema delphis_mediterranea

update:

keep_existing_schema: No

migrate_default_value: Yes

column_case_sensitive: Yes

mysql_restart_config: Yes

以上配置文件中参数的含义是:

迁移数据时,MySQL侧使用的用户名密码分别是 usr_replica 和 re@1qazx。MySQL服务器的IP和port分别是192.168.132.153和3306,待迁移的数据库是db_smis。

openGauss侧使用的用户名密码分别是 gaussdb和 gaussdb@1qazx。openGauss服务器的IP和port分别是192.168.132.153和5432,目标数据库是db_smis,同时会在db_smis下创建schema:db_smis,迁移的表都将位于该schema下。

3.初始化迁移过程

chameleon create_replica_schema --config default

chameleon add_source --config default --source mysql

4.复制基础数据。

chameleon init_replica --config default --source mysql --debug

debug参数可以查看执行过程。

5.schema db_smis已有数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CAD转PDF其实很简单,掌握这4种方法就可以

Hello,大家好,这里是建模助手! CAD作为一种绘图格式,在工业设计领域发挥着不可替代的作用,一般有DXF、DWG两种常见的格式,但是一般需要在电脑中安装特定软件才能打开此类格式的文件。 因此大多数人在给别…

网站表单实时通知 销售线索不错漏

对于企业来说,在进行产品发布或营销推广时,都需要大量的信息收集汇总。此时都会用到表单功能,网站上的表单功能应用非常广泛,可做信息收集效果,可做付费预约效果等,而如果希望能实时推送表单收集到的数据&a…

AQS(AbstractQueuedSynchronizer)是什么?

目录简介原理概览资源的共享方式独占(Exclusive)共享(Shared)模板方法模式在AQS中的应用经典应用ReentrantLockSemaphore简介 AQS全称AbstractQueuedSynchronizer,位于java.util.concurrent.locks包下,它是…

Kubernetes (k8s)在企业项目中的重点应用场景以及云原生和云架构的原理

Kubernetes (k8s)在企业项目中的重点应用场景以及云原生和云架构的原理。 Kubernetes,简称 K8s,是用 8 代替中间 8 个字符 “ubernete” 而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应…

Allegro因为DRC报错无法使用走线居中命令的解决办法

Allegro因为DRC报错无法使用走线居中命令的解决办法 在用Allegro做PCB设计的时候,走线居中是非常实用的功能 但是这个功能只能在走线居中不会产生DRC的使用。 如果居中后仍然存在DRC,比如间距,等长等等DRC,如下图: 使用居中命令就会出现报错,如图,因为居中后线距离孔的…

图文详解Linux中的火墙策略优化

目录 前言 一、火墙管理工具切换 二、iptables 的使用 三、火墙默认策略 四、firewalld的使用 1、firewalld的开启 2、关于firewalld的域 3、关于firewalld的设定原理及数据存储 4、firewalld的管理命令 5、firewalld的高级规则 6、firewalld中的NAT 总结 前言 火…

【软件测试】性能测试面试题分析与回答,你的优势不止这些......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 软件测试这一岗已悄…

Java原型模式以及引用拷贝与对象拷贝问题

目录基本数据类型,引用数据类型,String引用拷贝对象拷贝浅拷贝深拷贝原型模式基本数据类型,引用数据类型,String 这里为了更好的理解栈,堆的指向关系,Java传值,传引用问题,我找来一…

全网最详细地介绍mybatis-plus框架

文章目录1. 简介2. 特性3. 支持数据库4. 框架结构5. 开始使用5.1 数据源5.2 初始化工程6. 总结之前使用mybatis框架时,需要写大量的xml配置文件,维护起来比较繁琐。现在使用mybatis-plus,若是简单的curd操作,可以不用写xml文件&am…

maxwell解析mysql的binlog数据并保存到kafka使用

通过maxwell来实现binlog的实时解析,实现数据的实时同步 1、mysql创建一个maxwell用户 为mysql添加一个普通用户maxwell,因为maxwell这个软件默认用户使用的是maxwell这个用户, 进入mysql客户端,然后执行以下命令,进…

IDEA操作git commit后(push项目失败:Access token is expired),撤销commit,恢复到提交前的状态

1. 在IDEA操作push代码报错 remote: [session-e6423190] Oauth: Access token is expired 原因:这个问题其实就是因为你的本地电脑上安全中心存储Gitee密码过期导致的。 解决此问题可以参考以下链接:本以为修改下IDEA的settings下的Gitee账号密码就可以了…

若依框架文档开发手册----开发中常用功能模块

目录 前端 add.html 时间框 大文本框 Ajax校验 自定义校验 回显选中图片 JS对添加下拉列元素 edit.html 下拉列 回显时间 list.html 搜索栏 时间框 mapper.xml Table表格 格式化时间 前端 表格匹配字典值 表格增加.减少功能项 全局 其他 关闭标签页 输入框…

前端使用vue-pdf、pdf-lib、canvas 给PDF文件添加水印,并预览与下载

前端使用vue-pdf、pdf-lib 给pdf添加水印,并预览与下载效果预览使用第三方插件安装依赖插件import 导入依赖预览添加水印的pdf下载添加水印的pdf预览及下载总结完整代码效果预览 使用第三方插件 安装依赖插件 npm i vue-pdf --save npm i pdf-lib --save npm inst…

java之面向对象基础

1.类和对象1.1什么是对象万物皆对象,只要是客观存在的事物都是对象1.2什么是面向对象1.3什么是类类是对现实生活中一类具有共同属性和行为的事物的抽象类的特点:类是对象的数据类型类是具有相同属性和行为的一组对象的集合1.4什么是对象的属性属性&#…

微信小程序——使用npm包,安装 Vant weapp 组件库安装教程及使用vant组件

一.小程序对 npm 的支持与限制目前,小程序中已经支持使用 npm 安装第三方包,从而来提高小程序的开发效率。但是,在小程序中使用 npm 包有如下3个限制:📜不支持依赖于 Node . js 内置库的包📜不支持依赖于浏…

【软件测试】2023年的软件测试咋样?见鬼,我到底该如何进阶?

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 一谈到进阶&#xf…

Sitecore本地安装详细介绍

一、简介 Sitecore 是一种 CMS(内容管理系统,位于 Web 前端和后端办公系统或流程之间的软件系统),本文已当前最新的 10.2.0 版本为例,介绍如何安装部署。 二、环境准备 Sitecore 依赖于 IIS、SQL Server,在后续 Sitecore 安装之前,这两依赖需要提前安装完成 2.1 II…

【CTF】ctf中用到的php伪协议总结及例题(持续更)

目录 前言 关于文件包含漏洞 php伪协议总结 关于php://协议 参考自: 前言 本篇文章使用的靶场是buuctf上的web题目:[BSidesCF 2020]Had a bad day 进行点击选项得到一个这样的url 这里猜测存在sql注入,没测出来。或者可能有php伪协议读…

excel函数应用:如何写出IF函数多级嵌套公式

说到函数就不得不提起函数中最受欢迎的三大家族:求和家族、查找引用家族、逻辑家族!!!没错!今天我们要介绍的就是三大家族之一逻辑函数家族的领头人:IF函数——很多人难以理解IF函数的多级嵌套使用。其实&a…

shell 函数详解

目录 函数 一,什么是函数 二, 函数的返回值 三,函数语法 示例1: 示例2: 四,函数的调用 示例1: 示例2: 五,函数库文件 六, 递归函数 示例1&#xf…