电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

MySQL误删库之还原实战

来源:金蝶云社区作者:金蝶2024-09-233

MySQL误删库之还原实战

1 场景介绍

某个时间点用户用drop database误删除了业务数据库数据(比如fi库),由于没有做物理备份,已知的备份策略为每天凌晨1点的逻辑全备+binlog日志。现需要回滚数据库到误删除之前的状态,并前滚至当前最新时间点。


2 还原恢复方案选择

 根据已知备份策略,此处选择 全库还原+使用binlog增量还原方案,进行数据库恢复。


3 确定恢复所需的备份集及binlog日志文件

a. 根据每天定时任务的备份脚本,已知全量备份集在/备份路径/"`date '+%Y%m%d%H%M%S'`"目录下


b. 进入上述目录,查看最近备份集中metadata文件信息

# strings metadata 

Started dump at: 2023-05-11 01:00:01

SHOW MASTER STATUS:

        Log: mysql_bin_30001.001491

        Pos: 185349301

        GTID:8afb9d79-120c-11ed-9c65-005056a06c35:1-84026942

由上可知,我们应用binlog日志应该从mysql_bin_30001.001491日志文件的185349301位置开始,一直到最新的binlog文件(本例为mysql_bin_30001.001493)。


4 恢复数据库

a. 对当前数据库进行全备,全备脚本参考

# cat dbbackup.sh

DT="`date '+%Y%m%d%H%M%S'`"

echo "$DT : ##### begin backup"

mkdir -p /你的备份路径/$DT

/bin/mydumper -h 127.0.0.1 -u cosmic -p **** -P 3306 -G -R -E -c -t 8 -r 10000 -o /你的备份路径/$DT

[ $? -eq 0 ] && echo "$DT : backup done" || echo "$DT : backup failed"


重命名备份文件

mv /你的备份路径/`date '+%Y%m%d%H%M%S'` /你的备份路径/bak"`date '+%Y%m%d%H%M%S'`"


b. 停止应用


c. 清理业务库

# mysql -ucosmic -p****

mysql> show databases;

mysql> drop database uat_fi;


d. 全库还原

使用最近的全量备份进行恢复

# myloader -ucosmic -p**** -o -d /你的备份路径/bak_20230511010001


e. 增量还原

# mysqlbinlog --start-position=185349301 --skip-gtids=true mysql_bin_30001.001491 > mysql_bin_30001.001

MySQL误删库之还原实战

1 场景介绍某个时间点用户用drop database误删除了业务数据库数据(比如fi库),由于没有做物理备份,已知的备份策略为每天凌晨1点的逻辑...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信