Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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_Plugins_Audit - Fatal编程技术网

MySQL中的审计状态更改

MySQL中的审计状态更改,mysql,plugins,audit,Mysql,Plugins,Audit,假设有许多传统的LAMP风格的应用程序使用MySQL作为后端来记录应用程序的“当前持久状态” 我感兴趣的是在数据库级别建立转换的“审计”,并将其存储为日志。其想法是——假设MySQL数据库在一天开始就被“转储”,那么就有可能对备份“重放”事务,以恢复工作日内的任何状态。。。。我想这有点像MySQL的时间机器 我找到了一些关于“审计插件”的文档,这些文档看起来很相关,但留给我的问题多于答案 本质上,我想确定是否可以编写一个MySQL插件来实现我的目标——这样它就可以与现有的MySQL应用程序“无

假设有许多传统的LAMP风格的应用程序使用MySQL作为后端来记录应用程序的“当前持久状态”

我感兴趣的是在数据库级别建立转换的“审计”,并将其存储为日志。其想法是——假设MySQL数据库在一天开始就被“转储”,那么就有可能对备份“重放”事务,以恢复工作日内的任何状态。。。。我想这有点像MySQL的时间机器

我找到了一些关于“审计插件”的文档,这些文档看起来很相关,但留给我的问题多于答案

本质上,我想确定是否可以编写一个MySQL插件来实现我的目标——这样它就可以与现有的MySQL应用程序“无缝”地工作

我发现很难确定的主要细节是:当审计插件收到事件通知时,建立新数据以记录事件的机制是什么?数据类型是如何编码的?例如,使用mysqldump编写一个工具来针对“完整系统备份”来“重播”此审计有多难

是否有此类插件的现有示例?

您只需要MySQL:

时间点恢复是指恢复自给定时间点以来所做的数据更改。通常,这种类型的恢复是在恢复完整备份后执行的,该备份使服务器恢复到备份时的状态。(可以通过多种方式进行完全备份,如中列出的方式。)然后,时间点恢复会使服务器从完全备份到最近的时间以增量方式更新


二进制日志看起来绝对相关。。。然而。。。我希望用每个“交易的数据”做一些定制的事情。。。而不仅仅是将其写入文件。这些“二进制日志”是否有文档格式?有没有办法钩住二进制日志中记录了新事务的事件?除了知道时间和能够看到SQL语句外,我还希望能够记录来自应用程序的高级标签。。。e、 g.“删除联系人”-而不必从SQL中对其进行反向工程。@aSteve:有一些工具(如)可以为您解析二进制日志并提取可能感兴趣的数据。如果您想自己解析它,完整的格式是。选择重放哪些事务对我来说听起来很可怕,但即使如此,我相信仍然有一些现有的工具可以帮助并防止您不得不自己进行重放(可能会遇到各种陷阱)。《内部手册》看起来非常有用。。。特别是如果,正如我现在所怀疑的,我可以审计这些二进制日志事件。我不倾向于SP方法,因为它需要对遗留代码进行大量更改。。。尽管我认为这是一种新系统的潜在方法。我的目标是最小化审计数据,同时最大化其上下文标签,同时最小化对现有系统的更改。我认识到这不是一个微不足道的项目。:)哦,在你担心之前。。。是的,在二进制日志中遗漏某些步骤将是非常危险的。。。但是,我可以在任何时候停止。。。回到历史上的那个时刻。。。或者,也可以从应用程序本身导出历史记录中任意点的数据。挑战在于确定要从哪个数据库历史版本导出。