Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何记录mysql数据库结构更改_Mysql_Logging - Fatal编程技术网

如何记录mysql数据库结构更改

如何记录mysql数据库结构更改,mysql,logging,Mysql,Logging,我正在处理一个使用mysql作为数据库的项目。该应用程序由许多客户端托管,我们经常对当前的实时系统进行升级 在某些情况下,客户端更改了数据库结构(添加新表),并导致一些意外的数据库崩溃 我需要记录在该数据库中进行的所有结构更改,以便我们能够找到正确的根本原因。我们不能用diff工具100%正确地完成它,因为它不会显示中间的更改 我找到了这个工具,但看起来有点复杂 是否有任何已知的技术或工具仅用于跟踪数据库结构更改 如果您的客户端有一个应用程序来管理这些架构更改,那么您可以在应用程序级别使用一种机

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

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

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

我找到了这个工具,但看起来有点复杂


是否有任何已知的技术或工具仅用于跟踪数据库结构更改

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

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

生成两个数据库(一个是客户数据库,一个是主副本数据库)的脚本,然后使用文件比较工具对其进行比较,这是我认为的最佳做法,因为这样您可以跟踪添加了哪些collumn,删除了哪些列,添加了哪些索引,而无需下载任何工具

可能的重复?
希望这能有所帮助。

如果某人不能记住/写下他们所做的更改,那么让他们修改数据库似乎是一件坏事。我们所做的每一个更改都要经过一个脚本,该脚本伴随着动机/解释和彻底的团队检查。重要的是,在sql server中,有DDL触发器可以帮助您记录架构更改,但在我的sql中,它们不受支持。请参见此。。。我想你需要按照我下面的答案去做……这将是一种不同的工具。它不是连续记录的。它将无法跟踪已删除并新创建的表。