(2)支持增量或全量同步数据
(3)支持指定字段同步,只同步关心的字段
- 支持的关系型数据库:
mysql、db2、postgresql、oracle、sqlserver
- 源代码下载:
database-sync代码托管在github上
源代码下载:下载
二、database-sync适配openGauss
目标:database-sync适配openGauss数据库,可支持openGauss与其他数据库之间实现数据同步
源代码下载:适配openGauss的源代码已上传到个人仓库下的“douxin_master”分支
下载链接:下载
三、程序使用说明
前提:已安装Java JDK 1.8或更高版本,安装maven
Step 1:下载代码并打包
git clone下载 douxin_master分支的代码,并进行打包
git clone https://gitee.com/ywzq1161327784/database-sync.git
cd database-sync/
git checkout origin/douxin_master
mvn clean package -Dmaven.test.skip=true
打包后,target目录内容如下:
Step 2:构建可执行工程目录
将mylib目录、target下的lib目录和database-sync-1.3.jar包复制到同一目录下,并创建一个config目录,在其下创建config.json文件写入配置信息,目录结构如下所示:
Step 3:编写配置文件
数据库连接信息以json格式配置在config/config.json文件中,每个节点包含type、driver、url、user、password、tbspace_ddl、encoding信息,
其中type指定数据库类型,取值为db2、postgres、mysql、oracle、sqlserver、openGauss,特别地,对于openGauss数据库需指定“type”:“openGauss”;
tbspace_ddl指定表空间语句,encoding指定编码方式。
配置文件示例:
{
"database1":{
"type":"openGauss",
"driver":"org.postgresql.Driver",
"url":"jdbc:postgresql://ip:port/postgres",
"user": "****",
"password":"******",
"tbspace_ddl": "",
"encoding":"utf-8"
},
"database2":{
"type":"postgres",
"driver":"org.postgresql.Driver",
"url":"jdbc:postgresql://ip:5432/postgres",
"user": "****",
"password":"******",
"tbspace_ddl":"WITH (compression=no, orientation=orc, version=0.12)\ntablespace hdfs\n",
"encoding":"utf-8"
},
"database3":{
"type":"oracle",
"driver":"oracle.jdbc.driver.OracleDriver",
"url":"jdbc:oracle:thin:@localhost:1521:orcl",
"user": "****",
"password":"****",
"tbspace_ddl": "",
"encoding":"utf-8"
},
"database4":{
"type":"db2",
"driver":"com.ibm.db2.jcc.DB2Driver",
"url":"jdbc:db2://ip:port/wbsj",
"user": "****",
"password":"****",
"tbspace_ddl": "",
"encoding":"utf-8"
},
"database5":{
"type":"mysql",
"driver":"com.mysql.cj.jdbc.Driver",
"url":"jdbc:mysql://localhost:3306/aarondb",
"user": "****",
"password":"****",
"encoding":"utf-8"
},
"buffer-rows": 100000
}
Step 4:查看程序帮助信息
在步骤2中的目录下,执行java -jar database-sync-1.3.jar -h
命令可查看程序运行的帮助信息
其中[]表示可选参数,包括如下几种: