dbsync 项目
dbsync 项目目标是围绕 PostgreSQL Greenplum ,实现易用的数据的互迁功能。
支持的功能
-
PostgreSQL -> PostgreSQL pgsql2pgsql
功能 pg->pg 全量+增量数据同步
状态:已开源 文档
-
MySQL -> PostgreSQL/Greenplum(binlog_minner binlog_loader)
功能:基于 MySQL binlog 解析的增量数据同步
状态:已开放二进制 文档
-
PostgreSQL -> PostgreSQL/Greenplum pgsql2gp
功能:基于 PostgreSQL 逻辑日志的增量数据同步
状态:未开发完成
-
MySQL -> PostgreSQL/Greenplum mysql2pgsql
功能:以表为单位的多线程全量数据迁移
状态:已开源 文档
项目成员
该项目由阿里云 PostgreSQL 小组开发,为 PostgreSQL 世界贡献一份力量
- PM & 架构设计 曾文旌(义从)
- PD 萧少聪(铁庵)
- TESTER & 技术支持 周正中(德歌)
- DEV 张广舟(明虚)曾文旌(义从)
使用方法
- 修改配置文件 my.cfg 中相关的项,例如需求 MySQL -> PostgreSQL 全量迁移,不需要增量,则只需要配置 src.mysql 和 desc.pgsql ,其他的项不用管。
- 执行对应二进制,在二进制所在目录执行 ./mysql2pgsql
编译步骤
从零开始
- 下载代码
git clone https://github.com/aliyun/rds_dbsync.git
- 下载安装mysql的开发包
下载repo的rpm: wget http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
安装repo:rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
编辑 /etc/yum.repos.d/mysql-community.repo,把除mysql 57外的其他repo的enable设为0
查看可安装的mysql报:yum list mysql-community-*
安装mysql的开发包: yum install mysql-community-devel.x86_64
- 下载安装pg的安装包
下载repo的rpm: wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
安装repo:rpm -ivh pgdg-centos96-9.6-3.noarch.rpm
编辑/etc/yum.repos.d/pgdg-96-centos.repo,可能需要把https改成http
查看可安装的pg包:yum list postgresql96*
安装pg的server和开发包:yum install postgresql96-devel.x86_64 postgresql96-server.x86_64
-
执行make
-
打包二进制 make package 将生成一个install目录,里面有二进制和lib
-
执行dbsync:cd install; bin/mysql2pgsql ; bin/pgsql2pgsql ; bin/demo
打包docker镜像
以上手动步骤,已集成进 Dockerfile,运行 docker build .
无意外即完成编译过程,镜像内同时包含 binlog_minner
binlog_loader
两个二进制文件。
问题反馈
有任何问题,请反馈到 https://github.com/aliyun/rds_dbsync issues 或联系 [email protected]