MYSQL数据库同步工具

MYSQL数据库同步工具MYSQL数据库同步工具MYSQL数据库同步工具功能说明配图MYSQL数据库同步工具GIT地址:https://gitee.com/michlee/mysql-sync功能目前仅针对Mysql数据库1.表结构同步(支持1对多数据库配置:新表/单表/多表/全表(注:多配置全表同步速度会慢一点))2.视图同步(支持1对多数据库配置)3.函数同步(支持1对多数据库配置)4.数据全量同步(1对1数据库配置,支持多表)5.本地启动http://localhost:8765/

大家好,又见面了,我是你们的朋友全栈君。

MYSQL数据库同步工具

GIT地址:https://gitee.com/michlee/mysql-sync

	因开发需要,经常要同步MYSQL数据库结构及部分基础数据到其他生产服务器。而且有时候需要一次性同步到多台服务器,而且不同的服务器同步的表结构还不一样。Navicat一次就只能同步一台服务器。所以写了这个同步工具。可以一次性把需要同步的表结构同步到需要同步的其他服务器(单个/多个都可以)。
	用这个工具先创建同步配置,根据不同的同步需求,创建不同的同步配置。然后根据不同的需求,选择相应的配置进行同步即可。配置一次,以后每次同步直接选配置即可,不用再每次都去选服务器。

在这里插入图片描述

功能

目前仅针对Mysql数据库

1.表结构同步 (支持1对多数据库配置:新表/单表/多表/全表 (备注:多配置全表同步速度会慢一点。而且全表同步时,表之间有关联的表,如果关联表不存在,有可能第一次同步时有些表会创建失败,需要再同步一次。))

2.视图同步 (支持1对多数据库配置)

3.函数同步 (支持1对多数据库配置)

4.数据全量同步 (1对1数据库配置, 支持多表)

5.本地启动 http://localhost:8765/

6.默认管理账户admin/123456

说明

	程序采用SpringBoot + Shiro + Mysql + thymeleaf架构,做了基础的用户权限控制(有其他需求可自行扩展)。前端页面使用了LayUi(本人做后端,前端不太熟,不喜勿喷)。
	
配置方式1:
	用数据库配置(脚本自行导入tabsync.sql,参考图示),并且配置可以根据不同用户设置为私有(公开配置,所有用户都可见,私有配置只有自己可见)。~~(mysqlType【版本】字段:暂时没有任务意义,仅做数据库版本记录)~~ 

配置方式2:
	配置JSON文件(master.json/targetList.json; 使用测试类直接执行,该方式未写数据同步,可自行改代码)。
master.json:(源数据库/单个)
{ 
   "host": "127.0.0.1:3306",
  "username": "root",
  "password": "root",
  "database": "test",
  "mysqlType": "5",
  "charSet": "utf8"
}

targetList.json:(目标数据库/JSON数组(可多个))
[
  { 
   "host": "192.168.1.2:6603",
    "username": "root",
    "password": "root",
    "database": "test",
    "mysqlType": "5",
    "charSet": "utf8"
  },
  { 
   "host": "192.168.1.3:6603",
    "username": "root",
    "password": "root",
    "database": "test",
    "mysqlType": "5",
    "charSet": "utf8"
  }
]

可以配置自动执行代码-程序启动完成自动执行一次(ExecuteTask.java)

备注:
表结构比对借鉴于https://gitee.com/alchemystar/Lancer,并按需求做了部分改动。

配图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148042.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • LeetCode 046 Permutations 全排列「建议收藏」

    LeetCode 046 Permutations 全排列「建议收藏」Givenacollectionofdistinctnumbers,returnallpossiblepermutations.Forexample,[1,2,3]havethefollowingpermutations:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]方法一:1c…

  • cs架构和bs架构的区别举例子_bs和cs架构哪个安全

    cs架构和bs架构的区别举例子_bs和cs架构哪个安全最近发现自己基础非常薄弱,问起CS/BS的概念和区别竟然只知道个皮毛。赶快找了个文章仔细学习。C/S结构 即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S结构 即Browser/Server(浏览器/服务…

  • OpenCV 估算图像的投影关系:基础矩阵和RANSAC[通俗易懂]

    OpenCV 估算图像的投影关系:基础矩阵和RANSAC[通俗易懂]OpenCV 估算图像的投影关系:基础矩阵和RANSAC

  • pl sql 循环_sql循环语句怎么写

    pl sql 循环_sql循环语句怎么写1、Loop……endLoop语句标准格式:LOOP statement_list–循环代码块 IFexit_conditionTHEN EXIT;–满足IF条件退出循环 ENDIF;ENDLOOP;–从1开始打印,当i=10退出循环。pl/sql中“=”表示比较,“:=”表示赋值。DECLAREiNUMBER;BEGIN i:=0; LOOP i:=i+1; dbms_output.put_line(i); IF i=

  • vue-router路由懒加载以及三种实现方式「建议收藏」

    vue-router路由懒加载以及三种实现方式「建议收藏」什么是路由懒加载?也叫延迟加载,即在需要的时候进行加载,随用随载。官方解释: 1:当打包构建应用时,JavaScript包会变得非常大,影响页面加载。 2:如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。官方在说什么呢?为什么需要懒加载? 1:首先,我们知道路由中通常会定义很多不同的页面。 2:这个页面这项目build打包后,一般情况下,会放在一个单独的js文件中 3:但是,如果很多的页面都放在同一个js文件.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号