通过Binlog增量恢复数据

Posted by KANG's BLOG on Tuesday, March 15, 2022

通过Binlog增量恢复数据

  1. 登录 MySQL,执行show variables like '%log_bin%';来查询 binlog 状态。 提示: log_bin => on 说明已经开始 binlog。

  2. 执行flush logs重新生成一个 binlog 日志

  3. 查询binlog日志

    show master logs;
    
  4. 查询更新操作的位置点

    show binlog events in `binlog.000001`
    
  5. 使用mysqlbinlog命令来恢复位置点范围内的数据

    mysqlbinlog --start-position=516 --stop-position=789 --datebase=test /var/lib/mysql/binlog.000001 | mysql -hlocalhost -uroot -proot -v test
    

mysqlbinlog命令也可通过binlog生成SQL语句

mysqlbinlog -d he /var/lib/mysql/binlog.000001 >bin.sql