如何记录mysql数据库结构的变化

时间:2012-09-12 10:33:43

标签: mysql logging

我正在使用一个使用mysql作为数据库的项目。该应用程序由许多客户端托管,我们经常对当前的实时系统进行升级。

在某些情况下,客户端已更改数据库结构(添加新表)并导致一些意外的数据库崩溃。

我需要记录在该数据库中完成的所有结构更改,因此我们可以找到正确的根本原因。我们不能用diff工具100%正确,因为它不会显示中间变化。

我找到了http://www.liquibase.org/工具,但似乎有点复杂。

是否有任何众所周知的技术或工具来跟踪数据库结构更改。

2 个答案:

答案 0 :(得分:1)

如果您的客户端有应用程序来管理这些架构更改,则可以在应用程序级别使用机制。如果您有基于Python和Django的解决方案,则可以使用South来提供架构更改跟踪和回滚。

答案 1 :(得分:1)

从mysql studio可以生成所有对象的模式定义,并将它们与标准模式定义进行比较,这样就可以比较两个数据库模式...

生成两个数据库的脚本(一个是客户端的数据库,一个是主副本数据库)然后使用文件比较工具进行比较将是我的最佳实践,因为这样你可以跟踪添加了哪个列,哪个列是已删除,在没有任何工具下载的情况下添加了哪个索引。

Compare two MySQL databases的可能重复? 希望这会有所帮助。