我可以使用哪个软件来自动化比较MySQL数据库中的数据?

4
我非常了解和喜欢liquibase用于模式迁移/模式差异,但最近我需要支持一个奇怪的用例-内容管理数据迁移。大多数非企业级数据库都倾向于将许多结构化数据保存为SQL记录,并因此使得保持这种设置同步变得非常困难。
因此,我急需一款可脚本化、可配置、多平台(至少支持Windows和Mac OS X)的软件,允许我对共享公共架构的两个MySQL数据库的数据进行差异比较,让我配置我想要差异比较的表(和其他一些东西),并输出一个SQL文件,以便我可以将其拼接到我的其他liquibase迁移文件中。
是的,我知道RedGate、DBSolo等工具有这样的功能(我很惊讶这个领域缺乏自由软件工具!),但它们似乎都有至少两个缺点:无法自动化/脚本化和/或不支持多平台。
简而言之,有人知道一个适用于MySQL的数据差异库/程序,最好是Java的,可以通过Ant或命令行进行脚本化,并输出SQL吗?
3个回答

2
您可能想尝试使用SQL Workbench/JWbDataDiff命令。它可以以批处理模式运行,因此可以通过命令行进行脚本化。您甚至可以将其作为Java应用程序从Ant中运行。

1

Pt-table-sync 是 Percona Toolkit 套件的一部分。它完全由 Perl 编写,并具有可靠的文档。


这是一个很好的工具(我最近才了解Percona Toolkit),但我需要能够从差异中创建SQL脚本,以便开发人员在提交之前进行审核。仅将两个数据库实例同步并不能帮助我... - Thomas Keller
你可以使用该工具创建SQL脚本。使用--print选项而不是--execute选项。阅读文档以获取更多信息。 - user898699

0

那个Jailer工具看起来非常酷。 - user330315

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接