主流的备份方案

1. 全量备份 + binlog

定时进行全量备份,比如我们每天零点进行全量备份,如果我们想恢复某天零点之前的数据,直接把当天零点的备份全量恢复就可以了。

2. 全量备份 + 增量备份 + binlog

介绍 mysqlbinlog 工具

mysqlbinlog 工具的功能 / 作用

  • binlog 文件解析
  • 根据 binlog 文件进行数据恢复

    正向解析 binlog 文件

    binlog 文件解析的命令:

  • mysqlbinlog -vv 文件名 —start-position=偏移量(用 start-position 参数来指定起始位置)

  • mysqlbinlog —base64-output=decode-rows -v 文件名(解析整个 binlog 文件)

    实现数据恢复

    反向解析 binlog 文件


使用 mysqlbinlog

  1. mysqlbinlog start-positon=xxx --stop-position=yyy '二进制文件名' | mysql -u 用户 -p

这条命令的意思是:执行 Binary Log 文件中从位置 xxx 开始,到 yyy 截止的所有数据更新操作。
这里的截止位置也可以不写,意思是从位置 xxx 开始,执行 Binary Log 文件中的所有数据更新操作。


其他的工具:

  • binlog-rollback
  • MyFlash

    延迟从库方案

    对从库进行延迟处理,这也能从另一个角度进行数据的快速恢复。
    image.png

    参考资料