iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql5.7使用binlog 恢复数据的方法
  • 515
分享到

mysql5.7使用binlog 恢复数据的方法

mysqlbinlog恢复数据mysql恢复数据 2022-05-15 18:05:15 515人浏览 独家记忆
摘要

第一步:保证Mysql已经开启binlog show variables like '%log_bin%'; log_bin 为 on是开启。 第二步:进入binlog文件目录,找到二进制日志文件

第一步:保证Mysql已经开启binlog


show variables like '%log_bin%';
log_bin 为 on是开启。

在这里插入图片描述

第二步:进入binlog文件目录,找到二进制日志文件

在这里插入图片描述


mysql> show binary logs; #获取binlog文件列表
mysql> show master status; #查看当前正在写入的binlog文件
mysql> reset master; 重置binlog

在这里插入图片描述

第三步: 通过mysqlbinlog工具命令查看数据库增删改查记录(必须切换到mysqlbinlog目录才有效)或者直接指定binlog

例子1:查询2021-3-12 14:00:00到2021-3-12 14:03:00 数据库为 g_xinxiangshop的操作日志,输入如下命令将数据写入到一个备用的txt文件中

/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime=“2021-3-12 14:00:00” --stop-datetime=“2021-3-12 14:03:00” /usr/local/mysql/data/mysql-bin.000001 > /tmp/binlog.txt

例子2:查询2021-3-12 14:00:00到2021-3-12 14:03:00 数据库为 g_xinxiangshop的操作日志,并且过滤出 只包括 g_user表数据的操作记录 ,输入如下命令将数据写入到一个备用的txt文件中

/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime=“2021-3-12 14:00:00” --stop-datetime=“2021-3-12 14:03:00” /usr/local/mysql/data/mysql-bin.000001 | grep g_user > /tmp/binlog.txt

例子3:查询2021-3-15 15:25:00到2021-3-15 15:35:00 数据库为 g_shoptest 的操作日志,并输出到屏幕上
/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_shoptest --start-datetime=“2021-3-15 15:25:00” --stop-datetime=“2021-3-15 15:35:00” /data/mysql/mysql-bin.000001 |more

在这里插入图片描述

图片和例1、例2内容一样 看到了truncate操作 和记录点 就可以做恢复操作了!

第四步:测试利用bin_log恢复数据

登录mysql
测试

1、 reset master; 重置binlog并重新生成记录日志

在这里插入图片描述

2、 测试某个表 插入一条数据 然后不小心删除了。

在这里插入图片描述

在这里插入图片描述

3、 查看bin-log 命令:show binlog events in ‘mysql-bin.000001';

在这里插入图片描述

如上图
我们看到删除点在928到 1294 ;之前的新增的数据 在154到520

在这里插入图片描述

/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000001 --start-position 154 --stop-position 520 | mysql -uroot -p g_shoptest

执行完毕之后 去看看删除那条数据吧 又回来了

在这里插入图片描述

binlog命令

最长用的就是回复指定数据端的数据了,可以直接恢复到数据库中:


mysqlbinlog --start-date="2021-3-12 14:00:00" --stop-date="2021-3-12 14:03:00" mysql_bin.000001 |mysql -uroot -p123456 

指定开始\结束位置,从上面的查看产生的binary log我们可以知道某个log的开始到结束的位置,我们可以在恢复的过程中指定回复从A位置到B位置的log.需要用下面两个参数来指定:

  • --start-positon="50" //指定从50位置开始
  • --stop-postion="100"//指定到100位置结束

/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000001 --start-position 7903538 --stop-position 7904498|mysql -uroot -p123456

**常见错误 ERROR: Error in Log_event::read_log_event(): ‘Found invalid event in binary log', data_len: 31, event_type: 35

*问题为mysqlbinlog版本所导致

查看当前os使用的mysqlbinlog


shell> which mysqlbinlog
/usr/bin/mysqlbinlog

查看mysql当前使用的mysqlbinlog


±--------------±------------------+
| Variable_name | Value |
±--------------±------------------+
| basedir | /usr/local/mysql/ |
±--------------±------------------+

mysql> show variables like ‘basedir';

对比两个版本


shell> /usr/bin/mysqlbinlog --version
shell> /usr/local/mysql/bin/mysqlbinlog --version

解决此问题指定mysqlbinlog路径即可

/usr/local/mysql/bin/mysqlbinlog --no-defaults --database=g_xinxiangshop --start-datetime=“2021-3-12 14:00:00” --stop-datetime=“2021-3-12 14:03:00” /usr/local/mysql/data/mysql-bin.000001 > /tmp/binlog.txt

到此这篇关于mysql5.7使用binlog 恢复数据的方法的文章就介绍到这了,更多相关mysql binlog 恢复数据内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

您可能感兴趣的文档:

--结束END--

本文标题: mysql5.7使用binlog 恢复数据的方法

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

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

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

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

下载Word文档
猜你喜欢
  • 如何在mysql5.7中使用binlog 恢复数据
    这篇文章给大家介绍如何在mysql5.7中使用binlog 恢复数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。第一步:保证mysql已经开启binlogshow variables like&n...
    99+
    2023-06-15
  • 怎么使用mysql binlog恢复数据
    这篇文章主要介绍“怎么使用mysql binlog恢复数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用mysql binlog恢复数据”文章能帮助大家解决问题。如果想通...
    99+
    2023-07-05
  • MySQL的binlog如何恢复数据
    小编给大家分享一下MySQL的binlog如何恢复数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. binlogbinlo...
    99+
    2024-04-02
  • 通过binlog恢复mysql数据
    通过binlog恢复mysql数据 基本流程 一、确定要恢复的时间点 确定要恢复到的时间点,可以使用以下命令查看binlog相关信息;或者根据误操作的时间来决定要恢复的时间点。 # 查询 BINLO...
    99+
    2023-09-12
    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日志做数据恢复的案例
    这篇文章主要介绍了MySQL使用binlog日志做数据恢复的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL的binlog日志是MySQL日志中非常重要的一种日志...
    99+
    2023-06-14
  • Mysql5.7利用frm与ibd恢复数据
    Mysql5.7利用frm与ibd恢复数据 1、新建一个同名数据库,并且在里面新建一张表同名的表,字段随意。 ---如果有原来表的表结构,那这步可以省略 将my.cnf配置文件增加innodb_fo...
    99+
    2024-04-02
  • 利用MySQL的binlog恢复误删的数据库
    1 查看当前数据库内容并备份数据库 查看数据库信息: 备份数据库: [root@localhost ~]# mysqldump -u root -p t > /mnt/t.sqlEnter pass...
    99+
    2023-09-23
    数据库 mysql sql
  • 一步步教你如何使用mysql binlog恢复数据
    如果想通过 mysql 的 binlog 恢复数据,首先要开启 binlog 。这里搭建一个测试的环境,了解一下 mysql binlog 是如何恢复数据库的。原理比较简单,binl...
    99+
    2023-05-14
    mysql使用binlog恢复数据 mysql binlog恢复数据 mysql恢复数据的语句
  • 一步步教你如何使用mysql binlog恢复数据
    如果想通过 mysql 的 binlog 恢复数据,首先要开启 binlog 。这里搭建一个测试的环境,了解一下 mysql binlog 是如何恢复数据库的。原理比较简单,binlog 会存储mysql中变化的数据,比...
    99+
    2023-04-06
    mysql使用binlog恢复数据 mysql binlog恢复数据 mysql恢复数据的语句
  • Mysql结合备份+binlog恢复误删除操作数据的方法
    小编给大家分享一下Mysql结合备份+binlog恢复误删除操作数据的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!结合备份...
    99+
    2024-04-02
  • MYSQL Binlog恢复误删数据库详解
    对表误删或执行缺少条件的修改 SQL 导致修改了表内其他数据时,我们需要想办法将数据恢复回来。 先创建两个测试表 table_1 CREATE TABLE `table_1` ( `id` int(0) NOT N...
    99+
    2022-11-18
    MYSQL Binlog数据还原 MYSQL Binlog恢复数据
  • mysql通过binlog恢复或回滚数据
    前言 近期项目开发中出现了一次误删的操作,于是在网上查找了mysql的回滚操作,这里记录一下。 简单说下binlog,binlog是mysql中的二进制日志,其记录了数据库发生更改的各种变化。所以通过binlog可以回滚或者恢复失误的操作。...
    99+
    2023-08-31
    mysql mysqlbinlog binlog2sql mysql回滚
  • Raid5数据恢复算法原理+raid5数据恢复方法
    Raid 5数据恢复算法原理要理解 raid 5数据恢复原理首先要先认识raid5,分布式奇偶校验的独立磁盘结构(也就是我们称之为的raid 5)数据恢复有一个“奇偶校验”概念需要理解。我们可以把它简单的理解成为二进制运算中的“异或运算”,...
    99+
    2023-06-03
  • MySQL数据库通过Binlog恢复数据的详细步骤
    目录Mysql Binlog 简介开启Binlog使用Binlog恢复数据附录总结 Mysql Binlog 简介 Mysql Binlog是二进制格式的日志文件Binlo...
    99+
    2024-04-02
  • mysql通过binlog日志恢复误删数据
    1、先查看binlog功能是否开启 show variables like '%log_bin%'; log_bin为ON说明可以使用binlog恢复,如果为OFF说明没有开启binlog。 2、删...
    99+
    2023-09-06
    mysql 数据库
  • mysql如何利用binlog进行数据恢复详解
    前言 最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog。binlog使用的是ROW模式,即受影响的每条记录都会生成一个sql。同时利用了binlog2sql项...
    99+
    2024-04-02
  • MongoDB利用oplog恢复数据的方法
    目录数据全备模拟故障写入数据模拟误操作恢复步骤备份oplog解析oplog将oplog备份和全备复制到standalone机查找误操作时间点进行数据恢复检查恢复结果当我们对数据出现误...
    99+
    2024-04-02
  • 恢复数据库的MySQL方法
    MySQL是一个常用的开源关系型数据库管理系统,它的数据是保存在文件中的,因此在一些情况下,数据库文件可能会遭到损坏或意外删除,需要进行恢复。本文将介绍在MySQL中如何进行数据库恢复...
    99+
    2024-02-26
    数据恢复工具等。 数据丢失
  • Mysql的Binlog数据恢复:不小心删除数据库详解
    Mysql的Bin log数据恢复:不小心删除数据库 前言:因为不小心删除了测试机器上Mysql的一整个数据库Schema,因为是测试机所以没有做备份,现在通过MySQL的Bin log方式恢复到删除以前的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作