颗粒状';最新消息';mySQL数据库数据的可恢复性

颗粒状';最新消息';mySQL数据库数据的可恢复性,mysql,database,recovery,Mysql,Database,Recovery,我使用mySQL后端运行一个基于web的在线游戏。每天都会对数百个包含用户数据的相关表执行许多写入操作 用户的帐户经常会被泄露。我希望能够在不影响任何其他用户数据的情况下,将用户数据恢复到攻击前的某个时间点 我知道mySQL中有二进制日志记录,但据我所知,这是到某个时间点为止的整个数据库恢复。我想要一个更精细的解决方案,即能够指定哪些表、哪些行等。 我应该调查什么?一般的最佳实践是什么?MySQL(或我知道的任何其他RDBMS)本身无法做到这一点。因此,您应该自己在应用程序层实现它。这是不可能的

我使用mySQL后端运行一个基于web的在线游戏。每天都会对数百个包含用户数据的相关表执行许多写入操作

用户的帐户经常会被泄露。我希望能够在不影响任何其他用户数据的情况下,将用户数据恢复到攻击前的某个时间点

我知道mySQL中有二进制日志记录,但据我所知,这是到某个时间点为止的整个数据库恢复。我想要一个更精细的解决方案,即能够指定哪些表、哪些行等。 我应该调查什么?一般的最佳实践是什么?

MySQL(或我知道的任何其他RDBMS)本身无法做到这一点。因此,您应该自己在应用程序层实现它。

这是不可能的(没有外部模块)


正如评论中所建议的那样,修订将是一个好的解决方案。当您只需要使用userdata时,请创建一个类似于usertable的表,并附加时间戳或类似标记,并每周/每天/运行一次cron作业。。将最近修改的用户数据(实际用户表中的附加标志/日期)复制到此表中。

如果创建并使用审核表(通过触发器填充),则始终可以返回任何表中某个特定用户的数据


不过,请确保在需要之前编写常规还原脚本。将用户ID放入您已有的脚本中要比坐在那里查看审核表容易得多,我该如何再次执行此操作。

您不能自己实施某种数据修订吗?就像维基百科一样。