看到这篇文章的你可能很着急,咱话就不多说了。
一、背景
操作失误,把数据库表全部删除了,然后我先用昨天的数据库备份文件还原到昨天的历史数据。
二、前提
使用mysqlbinlog恢复数据须知:
- 确保你已经开启了
Binlog。
使用show variables like '%log_bin%';命令查看是否已开启binlog功能。

如上图所示,你的binlog文件是在/var/lib/mysql/目录下,以binlog开头的文件。
三、保护数据
- 关闭业务系统,防止数据继续写入;
四、恢复数据
4.1 查看当前使用的binlog文件
show master status

4.2 执行flush logs命令,让数据库从新的binlog文件从新写
flush logs
4.3 恢复
查看/var/lib/mysql/目录下的binlog文件,发现中间重启过mysql,昨天到今天使用的binlog文件有两个,所以得从两个文件进行恢复。
# 指定开始时间、结束时间
sudo mysqlbinlog /var/lib/mysql/binlog.000018 /var/lib/mysql/binlog.000019 --start-datetime='2021-08-27 09:50:00' --stop-datetime='2021-08-28 15:35:00' | mysql -u root -p --database=xiaofang_cloud -f
注意: 上面指定多个binlog文件的顺序很重要。
参考文章:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END







暂无评论内容