mysql通过binlog文件恢复数据

  1. 将dump下来的压缩包解压到 /data/dumpback/目录下

    tar -zxvf back_20220322.tar.gz -C /databak/data
    
  2. 进入mysql执行

    #登录mysql
    mysql -uroot -p -S /data/mysql/mysql.sock
    
    #选择目标数据库
    use zzz_test;
    
    #执行sql文件(定时备份的数据恢复完成
    source /data/dumpback/data/mysql/20220322/zzz_test.sql
    
  3. 使用binlog日志将dump时间之后的数据恢复

    #查看binlog日志开启状态(on为打开)
    show variables like 'log_bin';
    
    #查询 BINLOG 格式
    show VARIABLES like 'binlog_format';
    
    #查看 master 正在写入的 BINLOG 信息
    show master status\G;
    
    #退出mysql
    exit
    
    #cat /etc/my.cnf 查看二进制日志存放目录
    log_bin=/data/mysql/logs/mysql-bin
    
    # 查看binlog文件(mysql重启一次,binlog文件名会变化一次
    mysqlbinlog mysql-bin.000006
    
    #根据时间区间将binlog文件转成.sql文件查看
    /usr/bin/mysqlbinlog --no-defaults --database=zzz_test --base64-output=decode-rows -v  --start-datetime='2022-03-25 09:39:10' --stop-datetime="2022-03-25 13:42:10" /var/lib/mysql/my-logbin.000069 >/databak/data/binlog.sql
    
     #跟据时间执行二进制文件(恢复备份时间之后的数据内容
    /usr/bin/mysqlbinlog --database=zzz_test --start-datetime='2022-03-25 13:53:29' --stop-datetime='2022-03-25 13:55:01' /var/lib/mysql/my-logbin.000069  | mysql -uroot -p123456
    

你可能感兴趣的:(小白日志,mysql)