chameleon是一个用Python 3编写的MySQL到openGauss的实时复制工具。工具使用mysql-replication库从MySQL中提取row images,这些row images将以jsonb格式被存储到openGauss中。在openGauss中会执行一个pl/pgsql函数,解码jsonb并将更改重演到openGauss。同时,工具通过一次初始化配置,使用只读模式,将MySQL的全量数据拉取到openGauss,使得该工具提供了初始全量数据的复制以及后续增量数据的实时在线复制功能。
chameleon初始代码源自pg_chameleon (https://github.com/the4thdoctor/pg_chameleon).
⦁ 通过读取MySQL的binlog,提供实时在线复制的功能。
⦁ 支持从多个MySQL schema读取数据,并将其恢复到目标openGauss数据库中。源schema和目标schema可以使用不同的名称。
⦁ 通过守护进程实现实时复制,包含两个子进程,一个负责读取MySQL侧的日志,一个负责在openGauss侧重演变更。
⦁ 创建python虚拟环境 (例如 python3 -m venv venv)
⦁ 激活python虚拟环境 (例如 source venv/bin/activate)
⦁ 升级pip pip install pip --upgrade
⦁ 安装chameleon python setup.py install
⦁ 在MySQL侧创建用于复制的用户 (例如 usr_replica)
⦁ 给用户赋予被复制数据库的访问权限(例如 GRANT ALL ON sakila.* TO 'usr_replica'
⦁ 给用户赋予RELOAD权限(例如 GRANT RELOAD ON *.* to 'usr_replica'
⦁ 给用户赋予REPLICATION CLIENT权限(例如 GRANT REPLICATION CLIENT ON *.* to 'usr_replica'
⦁ 给用户赋予REPLICATION SLAVE权限(例如 GRANT REPLICATION SLAVE ON *.* to 'usr_replica'
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型