推荐一款 MySQL 表结构自动同步工具——mysql-schema-sync

mysql-schema-sync 是一款使用 Go 开发跨平台的 MySQL 表结构自动同步工具。主要用于解决多个环境数据库表结构不同步问题。

mysql-schema-sync 支持功能:

同步新表

同步字段 变动:新增、修改

同步索引 变动:新增、修改

支持预览(只对比不同步变动)

邮件通知变动结果

支持屏蔽更新表、字段、索引、外键

支持本地比线上额外多一些表、字段、索引、外键

项目地址:https://github.com/hidu/mysql-schema-sync

安装

mysql-schema-sync 的安装非常简单,开箱即用。

注:GOPATH 是作为编译后二进制的存放目的地和 import 包时的搜索路径。GOPATH 之下主要包含三个目录: bin、pkg、src。

src 存放源代码(比如:.go .c .h .s等)。

pkg 存放编译后生成的文件(比如:.a)。

bin 存放编译后生成的可执行文件。

配置

mysql-schema-sync 默认配置文件是 config.json,默认在 src/github.com/hidu/mysql-schema-sync/ 目录里。

配置文件示例

主要配置项说明

运行

mysql-schema-sync 命令使用语法

mysql-schema-sync 参数说明

预览并生成变更SQL

默认情况下,不会直接把变更应用到目标数据库的。

直接生成变更并同步到目标库

同时同步到多个目标库

官方有提供一个 SHELL 脚本 可以同时在多个库间同步。只需为要同步的多个库生成多个以 .json 为后缀的配置文件, 脚本会依次运行每份配置。

脚本默认在当前目录调用 mysql-schema-sync,这里需要根据实际情况修改下:

运行脚本,完成后会在当前目录的 log 目录下记录每次运行后的日志。

定时完成数据库同步

如果你需经常定时同步数据库,可以按下格式配置一个计划任务:

参考文档

http://www.google.com

https://github.com/hidu/mysql-schema-sync

今日思想

低头不是认输,是要看清自己的路;昂头不是骄傲,是要看清自己的天空。

——科比·布莱恩特

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180322G0ZPUM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券