MySQL通过bin-log恢复数据

news2024/9/23 17:19:20

MySQL通过bin-log恢复数据

  • 1.bin-log说明
  • 2.数据恢复流程
    • 2.1 查看是否开启bin-log
    • 2.3 查看bin-log
    • 2.4 执行数据恢复操作
    • 2.5 检查数据是否恢复

1.bin-log说明

mysqldump和bin-log都可以作为MySQL数据库备份的方式:

  • mysqldump 用于将整个或部分数据库导出为可执行的SQL文件,也可以用于导入或还原数据库,它可以创建一个数据库的逻辑备份,包括表结构和数据
  • binlog(二进制日志)是一种事务日志,记录了对数据库进行的每个更改操作,如插入、更新、删除等。它用于增量备份和数据恢复,可以重放这些更改以还原到之前的状态

mysqldump和bin-log的主要区别如下:

  • 数据格式:mysqldump生成的备份文件是以文本形式保存的SQL语句,可以读取和修改。binlog则是以二进制格式保存的事务日志,不能直接查看或修改,需要专门的工具(如mysqlbinlog)进行解析和分析。
  • 备份范围:mysqldump可以备份整个数据库或特定的表,以及备份时可以选择备份的数据内容(例如只备份表结构、只备份数据等)。而binlog会记录所有的更改操作,包括对表结构和数据的更改,因此可以用来恢复到任何一个时间点之前的状态。
  • 使用场景:mysqldump适用于定期完整备份数据库或移植数据库,以便将数据导入到不同的MySQL服务器。binlog则适用于增量备份和恢复,可以用于故障恢复、数据同步、主从复制等场景。

2.数据恢复流程

2.1 查看是否开启bin-log

show variables like '%log_bin%'; # ON 表示开启  表示关闭

#如果没有开启bin-log那么在[mysqld]下面配置如下内容
server_id=1
# 会根据 mysql-bin.00000x开始递增新增内容
log-bin=mysql-bin 
binlog_format=Row

2.2 生成新的bin-log文件

方式1: 重启MySQL服务
方式2:flush logs
# 在操作数据恢复之前生成一下新的bin-log文件,避免影响后面的数据

2.3 查看bin-log

# bin-log文件一般在MySQL安装目录存放数据的data目录中
方式1SHOW  BINLOG EVENTS  IN 'mysql-bin.000001';
方式2: mysqlbinlog -v --set-charset=utf-8 mysql-bin.000001>backuptmp.sql

方式1:

方式2:
在这里插入图片描述

2.4 执行数据恢复操作

mysqlbinlog -v mysql-bin.000001 --start-position=1963 --stop-position=2385 | mysql -uroot -padmin

2.5 检查数据是否恢复

这里可以看到我们之前删除id为3的数据已经恢复回来了。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1938295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TeraTerm 使用技巧

参考资料 自分がよく使うTeratermマクロによる自動ログインのやり方をまとめてみたよTera Term マクロでログインを自動化してみたTera Term のススメ 目录 简介一. 常用基础设置1.1 语言变更1.2 log设置 二. 小技巧2.1 指定host别名2.2 新开窗口2.3 设置粘贴多行命令时的行间…

【3D编程技巧】如何用四元数旋转矢量在相机空间进行光照计算

这里介绍一个小TIPS,很久没有这么有成就感了。我以前在学3D数学的时候,书上就有一句话,说你把矢量这些东西用久了,就应该形成一种“直觉”,仿佛这些东西就是你的左右手一样。而这次,我居然真的用“直觉”来…

基于上下文自适应可变长熵编码 CAVLC 原理详细分析

CAVLC CAVLC,即Context-Adaptive Variable-Length Coding,是一种用于视频压缩的编码技术,特别是在MPEG-4视频编码标准中使用。CAVLC是一种熵编码方法,它根据视频数据的上下文信息来调整编码长度,以实现更有效的数据压…

【从0到1,训练大模型,从llama3开始】

摘要: 随着大模型越来越多,大家肯定眼花缭乱。不知道选择哪个好,换句话说,不知道哪个才适合自己。 通过社长的实操:chatgpt3.5、gpt4、gpt4o、llama3、通义千问、豆包等大模型,总结是:大家都很好,都能一定程度上的帮助你。 不过怎么说呢,他们什么都懂,但是,什么都不…

sourcetree中常用功能使用方法及gitlab冲突解决

添加至缓存:等于git add 提交:等于git commit 拉取/获取:等于git pull ,在每次要新增代码或者提交代码前需要先拉取一遍服务器中最新的代码,防止服务器有其他人更新了代码,但我们自己本地的代码在我们更新前跟服务器不…

邮件安全篇:企业电子邮件安全涉及哪些方面?

1. 邮件安全概述 企业邮件安全涉及多个方面,旨在保护电子邮件通信的机密性、完整性和可用性,防止数据泄露、欺诈、滥用及其他安全威胁。本文从身份验证与防伪、数据加密、反垃圾邮件和反恶意软件防护、邮件内容过滤与审计、访问控制与权限管理、邮件存储…

面试题 17.14.最小K个数

题目:如下图 答案:如下图 /*** Note: The returned array must be malloced, assume caller calls free().*/ void AdjustDown(int* a,int n,int root) {int parent root;int child parent * 2 1;//默认左孩子是大的,将其与右孩子比较&am…

《机器学习》读书笔记:总结“第5章 神经网络”中的概念

💠神经网络(neural network) 神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。 神经网络中最基本的成分是 神经元(neuron / unit),即上述定…

机械臂泡水维修|机器人雨后进水维修措施

如果机器人不慎被水淹,别慌!我们为你准备了一份紧急的机械臂泡水维修抢修指南,帮助你解决这个问题。 【机器人浸水被淹后紧急维修抢修|如何处理?】 机械臂被淹进水后维修处理方式 1. 机械手淹水后断电断网 首先&am…

Hive分布式SQL计算平台

Hive分布式SQL计算平台 一、Hive 概述二、Hive架构三、Hive客户端 1、Hive有哪些客户端可以使用2、Hive第三方客户端 四、Hive使用语法 1、数据库操作2、内部表,外部表3、数据的导入与导出4、分区表5、分桶表6、复杂类型操作7、数据抽样8、Virtual Columns 虚拟列9…

压缩视频大小的方法 怎么减少视频内存大小 几个简单方法

随着4K、8K高清视频的流行,我们越来越容易遇到视频文件体积过大,导致存储空间不足、传输速度缓慢等问题。视频压缩成为解决这一问题的有效途径,但如何在减小文件大小的同时,保证视频质量不受影响呢?本文将为你揭晓答案…

(10)深入理解pandas的核心数据结构:DataFrame高效数据清洗技巧

目录 前言1. DataFrame数据清洗1.1 处理缺失值(NaNs)1.1.1 数据准备1.1.2 读取数据1.1.3 查找具有 null 值或缺失值的行和列1.1.4 计算每列缺失值的总数1.1.5 删除包含 null 值或缺失值的行1.1.6 利用 .fillna() 方法用Portfolio …

OpenCV Mat类简介,Mat对象创建与赋值 C++实现

在 C 中,OpenCV 提供了一个强大的类 Mat 来表示图像和多维矩阵。Mat 类是 OpenCV 中最基础和最常用的类,用于存储和操作图像数据。 文章目录 Mat类简介Mat 类的定义Mat 类的构造函数 代码示例深拷贝示例赋值示例浅拷贝示例 Mat类简介 Mat 类是一个多维…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel 简介熔断降级什么是熔断什么是降级相同点不同点 整合Sentinel自定义sentinel流控返回数据使用Sentinel来保护feign远程调用自定义资源给网关整合Sentinel参考 简介 熔断降…

ChatGPT实战100例 - (20) 如何玩转影刀RPA

文章目录 ChatGPT实战100例 - (20) 如何玩转影刀RPA背景需求需求分析与流程设计一、需求收集二、流程梳理三、可行性分析流程设计(详细步骤)具体步骤的影刀RPA实现流程图总结AIGC在影刀RPA中的使用总结其他RPA步骤中可能用到AIGC的地方展望总结ChatGPT实战100例 - (20) 如何玩…

EasyExcel相关

1. easyexcel–100M EasyExcel是一个基于Java的使用简单、节省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 节省内存的原因:在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据&#xff0c…

深度学习之基础知识整理

现在大语言模型很火,但它的基础仍然是以神经网络为基础的深度学习,不懂神经网络,不了解深度学习,对于大语言模型的二次开发也是整不明白。 那到底需要了解哪些知识?才能看懂深度学习/神经网络的基础模型,想…

后端传递中文到前端 乱码问题

后端代码 前端 乱码 decodeURI(name);使用这个方法,这个方法应该是jquery中的方法 这样就不乱码了

Pointnet++改进即插即用系列:全网首发WTConv2d大接受域的小波卷积|即插即用,提升特征提取模块性能

简介:1.该教程提供大量的首发改进的方式,降低上手难度,多种结构改进,助力寻找创新点!2.本篇文章对Pointnet++特征提取模块进行改进,加入WTConv2d,提升性能。3.专栏持续更新,紧随最新的研究内容。 目录 1.理论介绍 2.修改步骤 2.1 步骤一 2.2 步骤二 2.3 步骤三 1.理…

JVM:垃圾回收器演进

文章目录 一、演进二、Shenandoah三、ZGC 一、演进 二、Shenandoah Shenandoah是由Red Hat开发的一款低延迟的垃圾收集器,Shenandoah并发执行大部分GC工作,包括并发的整理,堆大小对STW的时间基本没有影响。 三、ZGC ZGC是一种可扩展的低延…