iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySql恢复数据方法梳理讲解
  • 246
分享到

MySql恢复数据方法梳理讲解

MySql 恢复数据MySql 数据恢复 2022-11-13 13:11:28 246人浏览 独家记忆
摘要

目录一、前言二、步骤三、其它笔记一、前言 Mysql具有binlog功能,可以记录对表进行过的操作、执行过的sql语句; 以下主要是总结下binlog的开启方法、使用方法等; 如果误

一、前言

Mysql具有binlog功能,可以记录对表进行过的操作、执行过的sql语句;

以下主要是总结下binlog的开启方法、使用方法等;

如果误删数据库表中的某些数据、或者误删整个表、误修改表结构等,就可以使用这个方法进行恢复。

二、步骤

1.如果想使用mysql数据恢复功能,首先需要修改Mysql配置文件,开启binlog功能。(有些版本binlog默认是不开启的,因此需要手动修改配置文件开启)

(1)windows环境

配置文件名称为my.ini,可以安装软件everything搜索这个文件。路径样例如下:

C:ProgramDataMySQLMySQL Server 5.7my.ini

(2)linux环境

配置文件名称为my.cnf,可以使用find命令搜索文件所在位置:

sudo find / -name my.cnf

位置样例如下:

/etc/my.cnf

2.找到配置文件后(my.ini/my.cnf),新增以下配置即可(当然先看看配置文件是否已配置了这行,不要重复了):

log-bin=mysqlbinlog
binlog-fORMat=ROW

或者也可以指定binlog的位置(下方是linux下的路径):

log-bin=/data/mysql/log/mysqlbinlog
binlog-format=ROW

注意,指定binlog在某个文件夹下时,必须自己创建文件夹,否则重启mysql会报错。

3.配置完成后,重启mysql。

4.现在,对mysql的数据库、表、数据等操作、执行增删改sql,都会记录到binlog中。(搜索mysqlbinlog就可以找到这个日志文件)

5.进行测试,新建一个表binlog_test,列随意,然后写几行数据,然后清空表数据。(准备使用binlog还原数据)

6.查看binlog的命令如下:

mysql> show binlog events;   #只查看第一个binlog文件的内容
mysql> show binlog events in 'mysqlbinlog.000002';#查看指定binlog文件的内容
mysql> show binary logs;  #获取binlog文件列表
mysql> show master status; #查看当前正在写入的binlog文件

7.首先看当前使用的是哪个binlog:

show master status;

本人执行后,发现当前使用的binlog是:mysqlbinlog.000004

8.然后查看这个binlog的内容:

show binlog events in 'mysqlbinlog.000004';

执行后,可以从查询结果的Info列中,找到刚才创建binlog_test表的sql(对应的Event_typeQuery);

可以看到刚才清空表数据的记录行,Event_typeDelete_rows

在上一些,可以看到创建表后、新增数据的Event_typeWrite_rows

9.分析这个binlog,我们的目标是还原刚才被删除的数据,因此找到create table语句后的第一个Event_typeQuery的行,它的Pos460

再找到Event_typeDelete_rows上面最接近的、Info中是COMMIT的行,它的Event_typeXidEnd_log_pos1199

(每一行的End_log_pos对应下一行的Pos)

10.现在找到了一个范围,从4601199之间的执行日志,就是给表binlog_test增加数据的日志,因此只要重复执行这之间的操作,就可以还原数据了。

11-1.windows下,找到mysqlbinlog.exe的位置;

linux下,找到mysqlbinlog的位置(这个是mysql的bin目录下的一个可执行文件);

然后执行以下命令,即可还原数据:

mysqlbinlog --no-defaults --start-position=460 --stop-position=1199 "C:ProgramDataMySQLMySQL Sever 5.7Datamysqlbinlog.000004" -d test | mysql -uroot -proot test

其中,指定了开始位置为460,结束位置为1199,命令执行后就会读取日志中指定范围内的命令并重新执行。

其它命令的含义为:

"-d test"的意思是,指定数据库为test(binlog_test表在test数据库中)
"|"是管道符
"mysql -uroot -proot test"是mysql的账号密码、登陆目标数据库
"-uroot":账号是root
"-proot":密码是root
"test":数据库是test 

11-2.也可以把binlog日志中,指定范围内的日志导出,然后自己执行source命令还原数据,如下:

mysqlbinlog "C:ProgramDataMySQLMySQL Sever 5.7Datamysqlbinlog.000004" -d test  --skip-gtids  --start-position=460 --stop-position=1199 > test.sql

执行这个命令后,指定范围内的日志被导出到test.sql中;

然后登陆mysql,执行命令:

mysql> use test; 
mysql> source test.sql;

这样就可以还原数据了。

三、其它笔记

1.如果使用truncate删除表的数据,binlog中也会新增几行记录,记录truncate操作,样例如下:

mysqlbinlog.000004 | 3122 | Query | 1 | 3211 | use 'test'; TRUNCATE 'binlog_test'

如果想恢复数据,就需要找到最开始插入数据的Pos、到truncate之前的End_log_pos,然后重新执行这期间的命令。

2.增删改操作会记录到binlog中,慢查询sql也可以记录到慢查询log中,不过也需要自己修改配置文件开启慢查询日志。

到此这篇关于MySql恢复数据方法梳理讲解的文章就介绍到这了,更多相关MySql恢复数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySql恢复数据方法梳理讲解

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

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

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

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

下载Word文档
猜你喜欢
  • MySql恢复数据方法梳理讲解
    目录一、前言二、步骤三、其它笔记一、前言 mysql具有binlog功能,可以记录对表进行过的操作、执行过的sql语句; 以下主要是总结下binlog的开启方法、使用方法等; 如果误...
    99+
    2022-11-13
    MySql 恢复数据 MySql 数据恢复
  • MySQL数据处理梳理讲解增删改的操作
    目录一、插入数据VALUES的方式添加为表的所有字段按默认顺序插入数据为表的指定字段插入数据同时插入多条记录将查询结果插入到表中二、更改数据(更新)三、删除数据一、插入数据 VALU...
    99+
    2024-04-02
  • MySQL过滤数据操作方法梳理
    目录前言1. where 字句的使用2. where 字句操作符2.1 检查单个值2.2 不匹配检查2.3 范围值检查2.4 空值检查3. 扩展3.1 SQL过滤与应用过滤3.2 引号的使用3.3 N...
    99+
    2024-04-02
  • Raid5数据恢复算法原理+raid5数据恢复方法
    Raid 5数据恢复算法原理要理解 raid 5数据恢复原理首先要先认识raid5,分布式奇偶校验的独立磁盘结构(也就是我们称之为的raid 5)数据恢复有一个“奇偶校验”概念需要理解。我们可以把它简单的理解成为二进制运算中的“异或运算”,...
    99+
    2023-06-03
  • MySQL检索数据操作方法梳理
    目录前言:1. select语句-用于检索所有列2. 注释的使用前言: 本实验中所用数据库创建SQL代码以及插入数据SQL代码链接: 链接: https://pan.bai...
    99+
    2022-11-13
    MySQL检索数据 MySQL数据检索
  • 恢复数据库的MySQL方法
    MySQL是一个常用的开源关系型数据库管理系统,它的数据是保存在文件中的,因此在一些情况下,数据库文件可能会遭到损坏或意外删除,需要进行恢复。本文将介绍在MySQL中如何进行数据库恢复...
    99+
    2024-02-26
    数据恢复工具等。 数据丢失
  • MySQL排序检索数据操作方法梳理
    目录前言1. 排序数据2. 按多个列排序3. 按列位置排序4. 指定排序方式(升序或者降序)5. 扩展—文本性数据如何排序前言 本实验中所用数据库创建SQL语句以及插入数据到数据库中的SQL语句链接: 链接:...
    99+
    2024-04-02
  • MySQL数据恢复的方法是什么
    这篇文章主要讲解了“MySQL数据恢复的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据恢复的方法是什么”吧!1 前言数据恢复的前提的...
    99+
    2024-04-02
  • Python面向对象的内置方法梳理讲解
    目录1、__str__2、__del__方法3、__call__首先class类里的内置方法,比如:__call__,__str__这些都是在一定条件下自动运行的。 下面我们来介绍几...
    99+
    2024-04-02
  • mysql恢复数据库的方法是什么
    MySQL恢复数据库的方法主要有以下几种:1. 使用备份文件恢复:如果有事先备份的数据库文件,可以使用MySQL提供的命令行工具(如...
    99+
    2023-10-09
    mysql 数据库
  • Mysql数据库的备份与恢复方法
    这篇文章主要介绍“Mysql数据库的备份与恢复方法”,在日常操作中,相信很多人在Mysql数据库的备份与恢复方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数据库...
    99+
    2024-04-02
  • mysql数据库恢复的方法是什么
    MySQL数据库恢复的方法有以下几种: 通过备份文件恢复:如果有定期备份数据库的文件,可以使用备份文件进行恢复。首先,停止MyS...
    99+
    2024-04-09
    mysql
  • MySQL中的事务处理和数据备份恢复方法
    这篇文章主要讲解了“MySQL中的事务处理和数据备份恢复方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL中的事务处理和数据备份恢复方法”吧!目录...
    99+
    2024-04-02
  • MySQL中恢复被误删除表数据的方法详解
    在MySQL数据库中,有时会发生误删除表数据的情况,这可能是由于操作失误、程序错误或者恶意攻击等原因导致的。当发生这种情况时,及时采取恢复措施是非常重要的,以防止数据的永久丢失。本文将详细介绍在MySQL中恢复被误删除表数据的方法,并提供相...
    99+
    2023-12-23
    mysql 数据库
  • mysql日志恢复数据的方法是什么
    MySQL的日志恢复数据方法主要有两种:基于二进制日志的恢复和基于事务日志的恢复。1. 基于二进制日志的恢复:- 首先,通过`mys...
    99+
    2023-09-22
    mysql
  • mysql数据库增量数据恢复的方法是什么
    本篇内容介绍了“mysql数据库增量数据恢复的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、工作场景(1)MySQL数据库每晚...
    99+
    2023-06-02
  • EMC 存储数据恢复案例详解【数据恢复方案】
    【科普Isilon的存储结构】Isilon内部使用的是分布式文件系统OneFS。在Isilon存储集群里面每个节点均为单一OneFS文件系统,所以Isilon在支持横向扩展的同时并不会影响数据正常使用。在存储集群工作时,所有节点提供相同的功...
    99+
    2023-06-04
  • 图解vsan存储结构/数据恢复方法
    VSAN是一种以vSphere内核为基础进行开发、可扩展的分布式存储架构。VSAN通过在vSphere集群主机当中安装闪存和硬盘来构建VSAN存储层,由VSAN进行控制和管理,形成一个供vSphere集群使用的统一共享存储层。vSphere...
    99+
    2023-06-04
  • MySQL 恢复误删数据
    文章目录 1、查看是否启用 binlog 日志2、查看所有 binlog 日志3、查看正在使用的日志4、查找日志所在文件夹5、log 日志转 sql6、delete 转 insert 恢复误删...
    99+
    2023-09-05
    mysql 数据库
  • MySQL数据怎么恢复
    这篇文章主要讲解了“MySQL数据怎么恢复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据怎么恢复”吧!1、前言数据恢复的前提的做好备份,且开启...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作