MySQL使用binlog日志文件回滚数据

本文介绍如何通过MySQL的binlog日志文件进行数据回滚操作。首先确认binlog已开启,然后查询最新的binlog文件并确定要回滚的时间段,最后生成并执行SQL语句完成数据恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL使用binlog日志文件回滚数据

  1. 首先要确保binlog开启
show variables  like 'log_bin';

+-------------+-----+
|Variable_name|Value|
+-------------+-----+
|log_bin      |ON   |
+-------------+-----+
  1. 查看最新的binlog文件
mysql> show master status;

+-------------+---------+------------+----------------+-----------------+
|File         |Position |Binlog_Do_DB|Binlog_Ignore_DB|Executed_Gtid_Set|
+-------------+---------+------------+----------------+-----------------+
|binlog.000010|120507544|            |                |                 |
+-------------+---------+------------+----------------+-----------------+

如果有多个binglog需要逐个恢复

  1. binlog一般默认在/var/lib/mysql下,找到上述查询到的最新文件binlog.000010

  2. 根据要回滚的大致时间查询定位

mysqlbinlog --no-defaults --database=tradesystem --start-datetime="2020-08-18 09:00:00" --stop-datetime="2020-08-18 13:00:00" binlog.000010
  1. 根据查询到的定位生成sql
mysqlbinlog --start-position=0 --stop-position=45325593 binlog.000010 > rollback.sql
  1. 执行sql恢复数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值