6 Star 13 Fork 4

xsx / dbsync

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.62 KB
一键复制 编辑 原始数据 按行查看 历史
xsx 提交于 2017-08-28 00:26 . 更新 README.md

dbsync

欢迎访问数据库同步工具项目,本项目使用java语言开发,运用JDBC实现数据库的同步功能。本工具简单易用,只需要简单添加一个配置文件,就可以实现数据库的同步功能。 配置文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<!--数据库同步配置-->
<configs>
    <!--热加载控制(true or false,当开启热加载时,可动态修改配置),可选项-->
    <hotload>true</hotload>

    <!--源数据库配置,必须项-->
    <database>
        <!--数据库驱动,必须项-->
        <driverClassName>com.mysql.jdbc.Driver</driverClassName>
        <!--数据库地址,必须项-->
        <url>jdbc:mysql://127.0.0.1:3306/test?zeroDateTimeBehavior=convertToNull&amp;autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8</url>
        <!--数据库用户名,必须项-->
        <username>root</username>
        <!--数据库密码,必须项-->
        <password>root</password>
    </database>

    <!--目标数据库配置,必须项-->
    <targets>
        <!--同步任务(可配置多个任务),必须项-->
        <target>
            <!--数据库驱动,必须项-->
            <driverClassName>com.mysql.jdbc.Driver</driverClassName>
            <!--数据库地址,必须项-->
            <url>jdbc:mysql://127.0.0.1:3306/test1?zeroDateTimeBehavior=convertToNull&amp;autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8</url>
            <!--数据库用户名,必须项-->
            <username>root</username>
            <!--数据库密码,必须项-->
            <password>root</password>
            <!--同步表名称(多个逗号分隔,默认全部表),可选项-->
            <tables>test</tables>
            <!--是否同步视图(ture or false,默认true)-->
            <syncViews>true</syncViews>
            <!--是否同步过程或函数(ture or false,默认true)-->
            <syncProc>false</syncProc>
            <!--同步具体时间(格式:HH:mm,默认为 00:00),可选项-->
            <time>17:54</time>
        </target>

        <target>
            <!--数据库驱动,必须项-->
            <driverClassName>com.mysql.jdbc.Driver</driverClassName>
            <!--数据库地址,必须项-->
            <url>jdbc:mysql://127.0.0.1:3306/test2?zeroDateTimeBehavior=convertToNull&amp;autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8</url>
            <!--数据库用户名,必须项-->
            <username>root</username>
            <!--数据库密码,必须项-->
            <password>root</password>
            <!--同步表名称(多个逗号分隔,默认全部表),可选项-->
            <tables>test1,test2,test3</tables>
            <!--是否同步视图(ture or false,默认true)-->
            <syncViews>true</syncViews>
            <!--是否同步过程或函数(ture or false,默认true)-->
            <syncProc>false</syncProc>
            <!--同步具体时间(格式:HH:mm,默认为 00:00),可选项-->
            <time></time>
        </target>

        ......

    </targets>
</configs>

最后直接运行com.dbsync.task.TaskExcutor,就可以启动程序,进行数据库同步任务了。

特别说明: 本工具的执行效率取决于机器的性能、数据库的优化与数据量,启动程序时,将会读出源数据库单表的全部数据,请根据数据量事先设置JVM参数,防止内存溢出等问题。目前已通过mysql到mysql同步测试,后续将增加更多数据库的支持,欢迎大家提出宝贵意见。

Java
1
https://gitee.com/xsxgit/dbsync.git
git@gitee.com:xsxgit/dbsync.git
xsxgit
dbsync
dbsync
master

搜索帮助