mysql-schema-sync 是一款使用go开发的、跨平台的、绿色无依赖的 MySQL 表结构自动同步工具。
用于将线上(其他环境)数据库结构变化同步到测试(本地)环境!
可以解决多人开发,每人都使用独立数据库导致结构不一样的问题!
支持功能:
1. 同步新表
2. 同步字段 变动:新增、修改
3. 同步索引 变动:新增、修改
4. 同步字段、索引 屏蔽变动更新
5. 支持预览(只对比不同步变动)
6. 邮件通知变动结果
参考 默认配置文件 config.json 配置同步源、目的地址。
修改邮件接收人 当运行失败或者有表结构变化的时候你可以收到邮件通知。
默认情况不会对多出的表、字段、索引删除。若需要删除字段、索引 可以使用-drop参数。
配置示例(config.json):
{ //source:同步源 "source":"test:test@(127.0.0.1:3306)/test_0", //dest:待同步的数据库 "dest":"test:test@(127.0.0.1:3306)/test_1", //alter_ignore: 同步时忽略的字段和索引 "alter_ignore":{ "tb1*":{ "column":["aaa","a*"], "index":["aa"] } }, // tables: table to check schema,default is all.eg :["order_*","goods"] "tables":[], //有变动或者失败时,邮件接收人 "email":{ "send_mail":false, "smtp_host":"smtp.163.com:25", "from":"xxx@163.com", "password":"xxx", "to":"xxx@163.com" } }
source: 数据库同步源
dest: 待同步的数据库
tables: 数组,配置需要同步的表,为空则是不限制,eg: ["goods","order_*"]
alter_ignore: 忽略修改的配置,表名为tableName,可以配置 column 和 index,支持通配符 *
email : 同步完成后发送邮件通知信息
#运行同步 mysql-schema-sync -conf mydb_conf.json -sync #预览并生成变更sql mysql-schema-sync -conf mydb_conf.json 2>/dev/null >db_alter.sql
添加crontab 任务
30 * * * * cd /your/path/xxx/ && bash check.sh >/dev/null 2>&1
mysql-schema-sync [-conf] [-dest] [-source] [-sync] [-drop]
说明:
#mysql-schema-sync -help -conf string 配置文件名称 -dest string mysql 同步源,eg test@(127.0.0.1:3306)/test_0 -drop 是否对本地多出的字段和索引进行删除 默认否 -source string 待同步的数据库 eg: test@(10.10.0.1:3306)/test_1 该项不为空时,忽略读入 -conf参数项 -sync 是否将修改同步到数据库中去,默认否 -tables string 待检查同步的数据库表,为空则是全部 eg : product_base,order_*
非主从同步情况下,很多方式只能同步数据,而源库表结构一旦被修改,被同步端将无法同步数据 mysql-schema-sync 用于实现表结构同步 github地址:GitHub - hidu/mysql-schema-sync: mysql表结构自动同步工具(目前只支持字段、索引的同步,分区等高级功能暂不支持) centos7 安装 mysql-schema-sync 需要 go 环境支持 1、安装
下载即用 mysql-schema-sync 是一款使用 Go 开发跨平台的 MySQL 表结构自动同步工具。主要用于解决多个环境数据库表结构不同步问题。 mysql-schema-sync 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 项
mysql-schema-sync mysql表结构自动同步工具 用于将 线上 数据库结构变化同步到 本地环境! 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 ###安装 go get -u github.com/hidu/mysql-sc
平时在工作中会遇到某个测试环境服务正常,其它测试环境不可用,通过日志排查数据库表不存在或者表字段不存在,偶尔一两次手动同步还可以接受,但是当服务较多、快速迭代时会经常出现xxx上线后忘记同步测试环境数据库的时候,影响效率而且内心难以接受。 于是为了解决这个问题在网上搜索了一番,发现大佬使用 Go 语言开源了表结构同步工具 mysql-schema-sync ,使用文档也非常详细,接下来看看这款工具
mysql-schema-sync 是一款使用 Go 开发跨平台的 MySQL 表结构自动同步工具。主要用于解决多个环境数据库表结构不同步问题。 mysql-schema-sync 支持功能:同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 项目地址:ht
mysql-schema-sync 是一款使用 Go 开发跨平台的 MySQL 表结构自动同步工具。主要用于解决多个环境数据库表结构不同步问题。 mysql-schema-sync 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 安装 mys
import os,sys import json import pymysql def get_m_json(filepath,key,value): key_ = key.split(".") key_length = len(key_) with open(filepath, 'r') as f: json_data = json.load(f) i = 0 a = json_data wh
mysql-schema-sync mysql表结构自动同步工具 用于将 线上 数据库结构变化同步到 本地环境! 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 安装 go get -u github.com/hidu/mysql-schem
mysql-schema-sync mysql表结构自动同步工具 用于将 线上 数据库结构变化同步到 本地环境! 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 安装 go get -u github.com/hidu/mysql-schem
mysql-schema-sync mysql表结构自动同步工具 用于将 线上 数据库结构变化同步到 本地环境! 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 安装 go get -u github.com/hidu/mysql-schem
mysql-schema-sync 是一款使用go开发的、跨平台的、绿色无依赖的 MySQL 表结构自动同步工具。 用于将线上(其他环境)数据库结构变化同步到测试(本地)环境! 可以解决多人开发,每人都使用独立数据库导致结构不一样的问题! 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 同步字段、索引 屏蔽变动更新 支持预览(只对比不同步变动) 邮件通知变动结果 ##
数据库表同步 摘要 在项目中期阶段,我们不同环境的数据库结构同步会出现很多的问题,例如我们要部署生产环境时,由于一个字段同步漏了,生产环境的程序就可能会出问题,于是就可以使用“mysql-schema-sync”工具来生成数据库同步脚本 golang 、git环境安装 yum install go git 命令 go version 查看 go 环境是否安装成功 进入 /usr/lib/gola
mysql-schema-sync 是一款使用go开发的、跨平台的、绿色无依赖的 MySQL 表结构自动同步工具。 用于解决多个环境数据库表结构不同步问题。 支持功能: 同步 新表 同步 字段 变动:新增、修改、删除 同步 索引 变动:新增、修改、删除 支持 预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新 表、字段、索引 支持本地比线上额外多一些表、字段、索引 文章转载自 开源中国社区[
mysql-schema-sync mysql表结构自动同步工具 用于将 线上 数据库结构变化同步到 本地环境! 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 安装 go get -u github.com/hidu/mysql-schem
mysql-schema-sync mysql表结构自动同步工具 用于将 线上 数据库结构变化同步到 本地环境! 支持功能: 同步新表 同步字段 变动:新增、修改 同步索引 变动:新增、修改 支持预览(只对比不同步变动) 邮件通知变动结果 支持屏蔽更新表、字段、索引、外键 支持本地比线上额外多一些表、字段、索引、外键 ###安装 go get -u github.com/hidu/mysql-sc
除了简单的单向绑定和双向绑定,MVVM还有一个重要的用途,就是让Model和DOM的结构保持同步。 我们用一个TODO的列表作为示例,从用户角度看,一个TODO列表在DOM结构的表现形式就是一组<li>节点: <ol> <li> <dl> <dt>产品评审</dt> <dd>新款iPhone上市前评审</dd>
同步能够部分智能的根据结构体的变动检测表结构的变动,并自动同步。目前有两个实现: Sync Sync将进行如下的同步操作: * 自动检测和创建表,这个检测是根据表的名字 * 自动检测和新增表中的字段,这个检测是根据字段名 * 自动检测和创建索引和唯一索引,这个检测是根据索引的一个或多个字段名,而不根据索引名称 调用方法如下: err := engine.Sync(new(User), ne
主要内容:DESCRIBE:以表格的形式展示表结构,SHOW CREATE TABLE:以SQL语句的形式展示表结构创建完数据表之后,经常需要查看表结构(表信息)。在 MySQL 中,可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令来查看数据表的结构。 DESCRIBE:以表格的形式展示表结构 DESCRIBE/DESC 语句会以表格的形式来展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,语法格式如下: DESCRIBE <表名>; 或简写成: D
配置了单库主从同步,当执行DROP TABLE test_c.test1122;也是同步日志中执行的语句。 从库无法同步删除怎么解决?
本文向大家介绍rsync 只同步目录结构不同步文件的方法,包括了rsync 只同步目录结构不同步文件的方法的使用技巧和注意事项,需要的朋友参考一下 If you are using an older rsync version, try:
Navicat 让你以详细分析的进程比对及修改表结构。换句话说,Navicat 比对两个数据库和/或模式之间的表及显示其结构的差異处。从主菜单选择 工具 -> 结构同步。 要打开已保存的设置文件,在 设置文件 选项卡中选择设置文件及点击 加载 按钮或双击设置文件。 注意:只限于 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB。Navicat Premium