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 世界贡献一份力量
下载代码
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
以上手动步骤,已集成进 Dockerfile,运行 docker build .
无意外即完成编译过程,镜像内同时包含 binlog_minner
binlog_loader
两个二进制文件。
有任何问题,请反馈到 https://github.com/aliyun/rds_dbsync issues 或联系 158306855@qq.com