首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

删库了不用跑路!binlog恢复数据实操

编程知识
2024年08月07日 14:25

各位道友大家好呀!

想必道友们或多或少都听说过MySQL的binlog的作用,它记录了数据库整个的生命周期,可用于恢复数据或者从库同步数据。

那么如果发生了数据库误删,具体该怎样恢复数据呢?

下面就以一个例子来给道友们演示一下,让我们开始吧!do it!

数据备份

首先,数据库要定时进行备份,因为如果需要恢复数据,可以缩小binlog执行范围

mysqldump -uroot -p --master-data=2 --single-transaction -A > /www/server/data/fanrencode-back.sql

参数master-data为2可以记录更多的细节,比如位置信息,方便binlog --start-position定位

binlog恢复数据

模拟误删操作

首先,新增一条测试数据,然后对库进行备份


然后我们又新增了数据,但是不小心把表给清空了

那么我们该怎么恢复数据呢?

有条件的话先在测试库里执行,没问题再在生产执行。

恢复数据

1.执行备份的文件

可以看到数据已经恢复成mysqldump备份时的数据了

2.执行binlog

查看mysqldump备份的文件的结束位置,如图可知是1969

注意这个MASTER_LOG_POS在文件的最上面,用PgUp翻到最上面即可。

然后查询mysql-bin.000011这个binlog文件,直接vim查看的话会乱码,所以我们把文件以明文的形式(-vv)输出到另一个test.binlog文件

/www/server/mysql/bin/mysqlbinlog mysql-bin.000011 -vv > test.binlog

如果提示unknown variable 'default-character-set=utf8'.错误,则需要在mysqlbinlog 后面加上--no-defaults参数

然后再vim查看就不乱码了,由图可知truncate操作的位置在902120

然后执行恢复操作

/www/server/mysql/bin/mysqlbinlog  --start-position=1969 --stop-position=902120 /www/server/data/mysql-bin.000011 | mysql -uroot -p

这样就完成了数据的恢复

当当,是不是还挺简单的,各位道友实操起来若有参差欢迎给小道留言~

From:https://www.cnblogs.com/GilbertDu/p/18347112
本文地址: http://shuzixingkong.net/article/880
0评论
提交 加载更多评论
其他文章 最佳实践:解读GaussDB(DWS) 统计信息自动收集方案
摘要:现在商用优化器大多都是基于统计信息进行查询代价评估,因此统计信息是否实时且准确对查询影响很大,特别是分布式数据库场景。本文详细介绍GaussDB(DWS)如何实现了一种轻量、实时、准确的统计信息自动收集方案。 本文分享自华为云社区《【最佳实践】GaussDB(DWS) 统计信息自动收集方案》,
最佳实践:解读GaussDB(DWS) 统计信息自动收集方案 最佳实践:解读GaussDB(DWS) 统计信息自动收集方案 最佳实践:解读GaussDB(DWS) 统计信息自动收集方案
QWen2-72B-Instruct模型安装部署过程
最近在给我们的客户私有化部署我们的TorchV系统,客户给的资源足够充裕,借此机会记录下部署千问72B模型的过程,分享给大家! 一、基础信息 操作系统:Ubuntu 22.04.3 LTS GPU: A800(80GB) * 8 内存:1TB 二、软件信息 Python: 3.10 Pytorch:
QWen2-72B-Instruct模型安装部署过程 QWen2-72B-Instruct模型安装部署过程 QWen2-72B-Instruct模型安装部署过程
零基础学习人工智能—Python—Pytorch学习(一)
前言 其实学习人工智能不难,就跟学习软件开发一样,只是会的人相对少,而一些会的人写文章,做视频又不好好讲。 比如,上来就跟你说要学习张量,或者告诉你张量是向量的多维度等等模式的讲解;目的都是让别人知道他会这个技术,但又不想让你学。 对于学习,多年的学习经验,和无数次的回顾学习过程,都证明了一件事,如
零基础学习人工智能—Python—Pytorch学习(一)
【VMware ESXi】把硬盘当内存用?VMware 内存分层(Memory Tiering),你值得拥有!
VMware vSphere 8.0 U3 发布了一个非常有意义的功能叫内存分层(Memory Tiering),以利用基于 PCIe 的 NVMe 设备充当第二层(辅助)内存,从而使 ESXi 主机的可用物理内存(RAM)增加。从本质上讲,内存分层就是利用较便宜的 NVMe 设备充当物理内存,以此
【VMware ESXi】把硬盘当内存用?VMware 内存分层(Memory Tiering),你值得拥有! 【VMware ESXi】把硬盘当内存用?VMware 内存分层(Memory Tiering),你值得拥有! 【VMware ESXi】把硬盘当内存用?VMware 内存分层(Memory Tiering),你值得拥有!
架构知识点(三)
动态分支预测是一种通过记录和分析程序运行时分支行为的历史信息来预测未来分支的机制。这种技术旨在提高处理器流水线的效率,减少分支指令引起的流水线停顿。你提到的通过查找指令地址判断分支行为的方法,就是一种动态分支预测的实现。 体现动态分支预测的几个关键点 历史信息记录: 记录分支行为:动态分支预测器会记
(数据科学学习手札163)ibis:极具潜力的Python数据分析框架
本文完整代码及附件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,今天要给大家介绍的Python框架叫做ibis,没错,跟著名连锁酒店宜必思同名,其作者是创造了pandas、Arrow等著名
(数据科学学习手札163)ibis:极具潜力的Python数据分析框架 (数据科学学习手札163)ibis:极具潜力的Python数据分析框架 (数据科学学习手札163)ibis:极具潜力的Python数据分析框架
EF Core连接PostgreSQL数据库
PostgreSQL数据库介绍 PostgreSQL是一个功能强大的开源对象关系型数据库管理系统(RDBMS)。最初于1986年在加州大学伯克利分校的POSTGRES项目中诞生,PostgreSQL以其稳定性、灵活性和扩展性而著称。它支持丰富的数据类型、复杂的查询、事务完整性、多版本并发控制(MVC
EF Core连接PostgreSQL数据库 EF Core连接PostgreSQL数据库 EF Core连接PostgreSQL数据库
AI 大模型时代呼唤新一代基础设施,DataOps 2.0和调度编排愈发重要
Bessemer Venture Partners 在基础设施投资方面有着悠久的历史。经过这家公司的长期观察,他们发现在 AI 时代,为 AI 量身定制的新型基础设施范式正在兴起,以增强 AI 时代下一波企业数据软件的发展。其中,DataOps 2.0 和调度编排技术和产业的发展也成为焦点。
AI 大模型时代呼唤新一代基础设施,DataOps 2.0和调度编排愈发重要 AI 大模型时代呼唤新一代基础设施,DataOps 2.0和调度编排愈发重要 AI 大模型时代呼唤新一代基础设施,DataOps 2.0和调度编排愈发重要