理论上,只要有数据库备份和对应的数据库在线日志,都可以恢复到任何时间点。
以mysql数据库为例
误删除分为以下几种情况
1.业务数据误删除,例如delete,tuncate掉不该删除的业务数据
2.业务表误删除,例如drop table,将业务删除
3.数据库文件误删除,例如rm掉数据库文件,数据库binlog日志等
针对语句1和2的情况,做了延迟库的架构方案,可以直接从延迟中将数据导出,再导入就可以恢复
第三种情况就稍微复杂一些,rm掉关键文件,会导致数据库直接崩溃,那就需要对应的数据库备份和对应的binlog日志进行恢复,如做mysql的主主复制高可用,当监控软件识别到当前用的主库已经不可用,则会自动将业务切换到备用数据库。