【MySQL】通过 Binlog 恢复MySQL数据

2022-11-14  本文已影响0人  Bogon

MySQL的binlog以event的形式,记录了MySQL中所有的变更情况,利用binlog我们就能够重现所记录的所有操作。

MySQL引入binlog主要有两个用途/目的:一是为了主从复制;二是用于备份恢复后需要重新应用部分binlog,从而达到全备+增备的效果。

MySQL的binlog有三种格式:

数据的恢复

在执行数据恢复前,如果操作的是生产环境,会有如下的建议:

使用 flush logs 命令,替换当前主库中正在使用的 binlog 文件,好处如下:

*   可将误删操作,定位在一个 BINLOG 文件中,便于之后的数据分析和恢复。
*   避免操作正在被使用的 BINLOG 文件,防止发生意外情况。

数据的恢复不要在生产库中执行,先在临时库恢复,确认无误后,再倒回生产库。防止对数据的二次伤害。

通常来说,恢复主要有两个步骤:

  1. 在临时库中,恢复定期执行的全量备份数据。
  2. 然后基于全量备份的数据点,通过 BINLOG 来恢复误操作和正常的数据。

MySQL 5.7 - 通过 BINLOG 恢复数据
https://www.cnblogs.com/michael9/p/11923483.html

从MySQL binlog解析出你要的SQL
https://github.com/danfengcao/binlog2sql

MyFlash——美团点评的开源MySQL闪回工具
https://tech.meituan.com/2017/11/17/mysql-flashback.html

MySQL Flashback 闪回功能详解
https://www.cnblogs.com/waynechou/p/mysql_flashback_intro.html

上一篇 下一篇

猜你喜欢

热点阅读