在MySQL中同步两个数据库模式

CDR*_*CDR 14 mysql synchronization

我一直在寻找可以同步两个MySQL数据库模式的可移植脚本或命令行程序.我不是在寻找基于GUI的解决方案,因为它不能自动化或使用buid /部署工具运行.

基本上它应该做的是扫描database1和database2.检查模式差异(表和索引)并提出一组SQL语句在一个上运行,以便它获得另一个类似的结构,尽可能地减少数据损坏.

如果某人可以指出实现此类解决方案的PHP,Python或Ruby包,我可以尝试从那里复制代码.

很多MySQL GUI工具可能都可以做到这一点,但我正在寻找一个可编写脚本的解决方案.

编辑:抱歉没有更清楚:我正在寻找的是同步表结构,同时尽可能保持数据完整.不是数据复制.

更多信息:

为什么复制不起作用.

  1. 安装基地遍布全州.
  2. 我们希望安装程序根据最新版本中的chagnes对数据库执行动态修复,而不管最终用户可能使用的旧版本.
  3. 更改主要是将新列添加到表,创建新索引或删除索引,添加表或删除系统内部使用的表(我们不删除用户数据表).

如果它是一个GUI:不,它不能使用.我们不想为我的安装程序捆绑一个20MB的应用程序,仅用于DB diff.特别是当原始安装程序小于1 MB时.

csl*_*csl 5

你考虑过使用MySQL复制吗?


Ego*_*hin 5

SQLyog做到了这一点,而且非常棒。我们经常在生产中使用它。