iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何在mysql5.7中使用binlog 恢复数据
  • 523
分享到

如何在mysql5.7中使用binlog 恢复数据

2023-06-15 08:06:41 523人浏览 安东尼
摘要

这篇文章给大家介绍如何在mysql5.7中使用binlog 恢复数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。第一步:保证Mysql已经开启binlogshow variables like&n

这篇文章给大家介绍如何在mysql5.7中使用binlog 恢复数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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

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

如何在mysql5.7中使用binlog 恢复数据

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

如何在mysql5.7中使用binlog 恢复数据

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

如何在mysql5.7中使用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

如何在mysql5.7中使用binlog 恢复数据

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

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

登录mysql
测试

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

如何在mysql5.7中使用binlog 恢复数据

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

如何在mysql5.7中使用binlog 恢复数据

如何在mysql5.7中使用binlog 恢复数据

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

如何在mysql5.7中使用binlog 恢复数据

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

如何在mysql5.7中使用binlog 恢复数据

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

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

如何在mysql5.7中使用binlog 恢复数据

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 --versionshell> /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 恢复数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 如何在mysql5.7中使用binlog 恢复数据

本文链接: https://www.lsjlt.com/news/278986.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如何恢复数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. binlogbinlo...
    99+
    2024-04-02
  • 怎么使用mysql binlog恢复数据
    这篇文章主要介绍“怎么使用mysql binlog恢复数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用mysql binlog恢复数据”文章能帮助大家解决问题。如果想通...
    99+
    2023-07-05
  • 一步步教你如何使用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。binlog使用的是ROW模式,即受影响的每条记录都会生成一个sql。同时利用了binlog2sql项...
    99+
    2024-04-02
  • Mysql5.7利用frm与ibd恢复数据
    Mysql5.7利用frm与ibd恢复数据 1、新建一个同名数据库,并且在里面新建一张表同名的表,字段随意。 ---如果有原来表的表结构,那这步可以省略 将my.cnf配置文件增加innodb_fo...
    99+
    2024-04-02
  • MySQL使用binlog日志做数据恢复的案例
    这篇文章主要介绍了MySQL使用binlog日志做数据恢复的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL的binlog日志是MySQL日志中非常重要的一种日志...
    99+
    2023-06-14
  • Mysql如何通过binlog日志恢复数据详解
    目录前言方法如下总结前言 MySQL的binlog日志是MySQL日志中非常重要的一种日志,记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的读写分离、数据增量备...
    99+
    2024-04-02
  • 如何利用MySQL的binlog恢复误删数据库详解
    目录1 查看当前数据库内容并备份数据库 2 开启bin_log功能 3 模拟误操作(插入3条数据,删除数据库) 4 数据恢复 5 总结 1 查看当前数据库内容并备份数据库 查看数据...
    99+
    2024-04-02
  • 如何在PHP中使用数据备份和恢复函数
    在日常的开发工作中,数据备份和恢复是非常重要且必不可少的功能。在PHP中,有许多数据备份和恢复的函数可以使用,这些函数可以方便开发人员进行数据备份和恢复的操作。本文将介绍如何在PHP中使用数据备份和恢复函数。使用MySQL的备份和恢复函数在...
    99+
    2023-05-19
    PHP 数据备份 恢复函数
  • MySQL中怎么通过binlog日志恢复数据
    本篇文章为大家展示了MySQL中怎么通过binlog日志恢复数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、数据备份操作的前一天晚上进行了日常逻辑备份mysq...
    99+
    2024-04-02
  • 利用MySQL的binlog恢复误删的数据库
    1 查看当前数据库内容并备份数据库 查看数据库信息: 备份数据库: [root@localhost ~]# mysqldump -u root -p t > /mnt/t.sqlEnter pass...
    99+
    2023-09-23
    数据库 mysql sql
  • 如何使用nub恢复数据库
    这篇文章将为大家详细讲解有关如何使用nub恢复数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.NBU数据库恢复脚本run {allocate channel t1...
    99+
    2024-04-02
  • windows下mysql中binlog日志分析和数据恢复
    1.首先查看是否开启了binlog show variables like '%log_bin%'; 看到了是没有开启的。 2.开启binlog日志,并重启mysql服务 不能通过命令的方式去打开,因为会提示说这个参数是只读的。如下图: ...
    99+
    2023-08-17
    mysql windows 数据库 binlog 数据恢复
  • 如何使用innobackupex恢复mysql数据库
    本篇内容主要讲解“如何使用innobackupex恢复mysql数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用innobackupex恢复mysq...
    99+
    2024-04-02
  • 如何在Mysql数据库中使用命令清理binlog日志
    如何在Mysql数据库中使用命令清理binlog日志?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、查看binlog日志my...
    99+
    2024-04-02
  • 如何在Oracle中备份和恢复数据库
    在Oracle中备份和恢复数据库可以使用以下步骤: 备份数据库: 使用expdp工具进行全库备份: expdp system/p...
    99+
    2024-04-09
    Oracle
  • 如何使用SQL语句在MySQL中进行数据备份和恢复?
    如何使用SQL语句在MySQL中进行数据备份和恢复?在数据库中,数据备份和恢复是非常重要的操作,可以保证数据的安全性并且在遇到意外情况时能够迅速恢复数据。MySQL是一个非常常用的关系型数据库,它提供了多种方式来进行数据备份和恢复,其中一种...
    99+
    2023-12-17
    MySQL SQL 数据备份
  • 如何在MongoDB中使用SQL语句进行数据备份和恢复?
    如何在MongoDB中使用SQL语句进行数据备份和恢复?摘要:MongoDB是一个非关系型数据库,而SQL是关系型数据库的查询语言。但是,有些时候,我们可能需要使用SQL语句来备份和恢复MongoDB中的数据。本文将介绍如何在MongoDB...
    99+
    2023-12-17
    MongoDB 数据备份 SQL语句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作