美文网首页
MySQL Binlog恢复delete的数据

MySQL Binlog恢复delete的数据

作者: 霡霂976447044 | 来源:发表于2022-01-06 15:54 被阅读0次

    默认MySQL8.0开启了binlog,删除了数据会有记录
    检查是否开启

    mysql> show variables like '%log_bin%';
    +---------------------------------+------------------------------------+
    | Variable_name                   | Value                              |
    +---------------------------------+------------------------------------+
    | log_bin                         | ON                                 |
    | log_bin_basename                | /usr/local/mysql/data/binlog       |
    | log_bin_index                   | /usr/local/mysql/data/binlog.index |
    | log_bin_trust_function_creators | OFF                                |
    | log_bin_use_v1_row_events       | OFF                                |
    | sql_log_bin                     | ON                                 |
    +---------------------------------+------------------------------------+
    6 rows in set (0.00 sec)
    

    log_bin_basename 就是binlog存放的位置

    在Docker中,binlog文件一般在/var/lib/mysql/

    mysqlbinlog -uroot --base64-output=decode-rows -v  --database=数据库名 --start-datetime="2022-01-06 11:00:00" --stop-datetime="2022-01-06  12:00:00" --result-file=导出的文件名.sql /var/lib/mysql/binlog文件名
    

    可以直接查看删除的log详情进行手动恢复

    或者依据position去恢复,会将指定位置的sql重新执行一次

     mysqlbinlog  --verbose --start-position=439 --stop-position=1598 /var/lib/mysql/binlog.000005 | mysql -uroot -p
    

    相关文章

      网友评论

          本文标题:MySQL Binlog恢复delete的数据

          本文链接:https://www.haomeiwen.com/subject/mvttaltx.html