广告
返回顶部
首页 > 资讯 > 数据库 >[MySQL]mysql binlog回滚数据
  • 334
分享到

[MySQL]mysql binlog回滚数据

[MySQL]mysqlbinlog回滚数据 2021-12-01 19:12:32 334人浏览 无得
摘要

先开启binlog log-bin = /var/log/Mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的xxx/xx

[MySQL]mysql binlog回滚数据

先开启binlog

log-bin = /var/log/Mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的xxx/xxx路径下,如果只配置mysql_bin的话默认在C:ProgramDataMySQLMySQL Server 5.7Data下;
binlog_fORMat = ROW #binlog日志格式,默认为STATEMENT:每一条SQL语句都会被记录;ROW:仅记录哪条数据被修改并且修改成什么样子,是binlog开启并且能恢复数据的关键;
expire_logs_days= 10 #binlog过期清理时间;
max_binlog_size = 100m #binlog每个日志文件大小;
binlog_cache_size = 4m #binlog缓存大小;
max_binlog_cache_size = 512m #最大binlog缓存大小。
service mysql restart #重启一下

安装binlog2sql的python代码
https://GitHub.com/danfenGCao/binlog2sql

apt-get install Python-pip
git clone Https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
cd binlog2sql
pip install -r requirements.txt

测试在一张表里删除了数据和更新了数据以后,看看日志目录里binlog的日志生成情况,例如:

 

 

进入mysql查看一下开始和结束的pos位置,第一个框是删除,下面的是更新,开始位置和结束位置219--498     563---881

 

 

 show binlog events in "mysql-bin.000352"

 

用binlog2sql打印出sql语句和逆向回滚的sql语句,保存并导入

python binlog2sql.py -h127.0.0.1 -P3306 -uroot -p"xxxx" --start-file mysql-bin.000352  --flashback

两条sql就可以重新执行一下了

UPDATE `my_test`.`user` SET `UPDATETIME`="2019-04-08 10:57:06", `level`=1, `UPDATETIME1`="2019-04-08 10:57:06", `extend_id`=109999, `path`="0/1/", `id`=0 WHERE `UPDATETIME`="2020-02-10 18:11:09" AND `level`=1 AND `UPDATETIME1`="2020-02-10 18:11:09" AND `extend_id`=109999 AND `path`="0/1/" AND `id`=2 LIMIT 1; #start 498 end 797 time 2020-02-10 18:11:09
INSERT INTO `my_test`.`user`(`UPDATETIME`, `level`, `UPDATETIME1`, `extend_id`, `path`, `id`) VALUES ("2019-04-08 10:57:06", 4, "2019-04-08 10:57:06", 109999, "0/1/2/4/6/", 0); #start 4 end 422 time 2020-02-10 17:40:14

 

增加开始和结束位置

python binlog2sql.py -h127.0.0.1 -P3306 -uroot -p"XXX" --start-file mysql-bin.000352  --flashback  --start-pos 219 --end-pos 498

 

您可能感兴趣的文档:

--结束END--

本文标题: [MySQL]mysql binlog回滚数据

本文链接: https://www.lsjlt.com/news/4205.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • [MySQL]mysql binlog回滚数据
    先开启binlog log-bin = /var/log/mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的xxx/xx...
    99+
    2021-12-01
    [MySQL]mysql binlog回滚数据
  • MyFlash 回滚mysql binlog
    简介:MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 安装:gi...
    99+
    2022-10-18
  • mysql通过binlog恢复或回滚数据
    前言 近期项目开发中出现了一次误删的操作,于是在网上查找了mysql的回滚操作,这里记录一下。 简单说下binlog,binlog是mysql中的二进制日志,其记录了数据库发生更改的各种变化。所以通过binlog可以回滚或者恢复失误的操作。...
    99+
    2023-08-31
    mysql mysqlbinlog binlog2sql mysql回滚
  • 【MySQL】利用binlog回滚DML操作
    简介:数据库运行过程中难免会发生误操作,特别是在测试环境 开发人员或测试人员有时会误删或者更新错误某些数据。这时可以用binlog闪回DML操作。 条件: 1.mysql binlog必须存在且是row...
    99+
    2022-10-18
  • mysql让数据库表的数据回滚,mysql如何回滚数据
    mysql不小心批量update,请问如何数据回滚 首先确定执行update语句时是否设置成的非自动提交,若设置了,直接rollback;若未设置,查看是否启用了二进制日志文件,若是,将其恢复到执行该时间点前;若未设置,那数据库层面就没办法...
    99+
    2023-09-21
    数据库 mysql java
  • mysql 误删除数据-数据回滚
    mysql 误删除 本次使用的原美团开源Mysql 数据闪回工具 传送门:https://github.com/Meituan-Dianping/MyFlash 一,简介 MyFlash的前身是binlon...
    99+
    2022-10-18
  • mysql中delete误删除如何利用binlog回滚
    这篇文章主要介绍mysql中delete误删除如何利用binlog回滚,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! mysql> se...
    99+
    2022-10-18
  • MySQL数据库误删回滚的解决
    某次一不小心,用了delete from xxx 删除了几条重要数据,在网上找了很多方法,但都比较零散,打算记录本次数据找回的过程。大致分为以下几步 1、查看binlog是否开启 # log_bin是ON,就说...
    99+
    2022-06-30
    MySQL数据库误删回滚 MySQL 误删回滚
  • Mysql 数据库开启 binlog
    1 简介 在MySQL中,binlog指的是binary log,二进制日志文件。这个文件记录了MySQL所有的DML操作。通过binlog日志,我们可以做数据恢复,做主从复制等等。对于运维或架构人员来说,开启binlog日志功能非常重要。...
    99+
    2023-08-18
    数据库 mysql
  • MySQL中如何使用binlog恢复或闪回数据库数据
    不知道大家之前对类似MySQL中如何使用binlog恢复或闪回数据库数据的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完MySQL中如何使用binlog恢复或闪回数...
    99+
    2022-10-18
  • MySQL数据库误删回滚怎么解决
    这篇文章主要讲解了“MySQL数据库误删回滚怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库误删回滚怎么解决”吧!某次一不小心,用了delete from x...
    99+
    2023-07-02
  • 通过binlog恢复mysql数据
    通过binlog恢复mysql数据 基本流程 一、确定要恢复的时间点 确定要恢复到的时间点,可以使用以下命令查看binlog相关信息;或者根据误操作的时间来决定要恢复的时间点。 # 查询 BINLO...
    99+
    2023-09-12
    mysql 数据库
  • MySQL通过binlog恢复数据
    目录mysql 日志文件binlog日志binlog日志开启日志开启方式:binlog 日志格式binlog日志查看工具:mysqlbinlog使用binlog恢复数据线下实操小结mysql 日志文件 任何成熟软件...
    99+
    2022-05-16
    MySQL binlog MySQL 恢复数据
  • MySQL——通过binlog恢复数据
    目录 1.binlog基本概念 2.MySQL开启binlog 3.使用binlog日志恢复数据 3.1.恢复前准备工作 3.2.数据恢复 3.2.1.通过mysqlbinlog将binlog转为sql,以方便查询具体位置 3.2.2.查看...
    99+
    2023-09-01
    mysql
  • 从MySQL数据库binlog中读取数据
    1. 执行SQL查看Binlog日志文件名: show binary logs; 举个例子 2.去官网(https://dev.mysql.com/downloads/installer/)下载一个...
    99+
    2023-09-03
    数据库 mysql php
  • MySQL的binlog如何恢复数据
    小编给大家分享一下MySQL的binlog如何恢复数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. binlogbinlo...
    99+
    2022-10-19
  • 怎么使用mysql binlog恢复数据
    这篇文章主要介绍“怎么使用mysql binlog恢复数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用mysql binlog恢复数据”文章能帮助大家解决问题。如果想通...
    99+
    2023-07-05
  • MySQL数据库误操作后快速回滚的方法
    binlog2sql快速回滚 开源工具binlog2sql: 首先,确认你的MySQL server开启了binlog,设置了以下参数:(binlog + row模式) [mysqld] ...
    99+
    2022-10-18
  • golang实现mysql数据库事务的提交与回滚
    MySQL 事务主要用于处理操作量大,复杂度高的数据。在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事务用来管理 insert,update...
    99+
    2022-11-12
  • mysql关闭binlog日志,删除binlog数据(win和linux通用)
    Mysql 关闭 binlog日志进程 打开 mysql 命令窗口,查询 binlog 是否开启   (ON)为开启状态 (OFF)为关闭状态 若开启状态则需要修改配置文件,反之不需要任何操作 show variables like...
    99+
    2023-09-14
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作