MySQL 误操作 数据恢复
binlog介绍
- binlog,即二进制日志,它记录了数据库上的所有改变.
- SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕.
- binlog格式
- 基于语句,无法保证所有语句都在从库执行成功,比如update … limit 1;
- 基于行,将每一次改动记为binlog中的一行.在执行一个特别复杂的update或者delete操作时,基于行的格式会有优势.
是否启用了日志
mysql>show variables like ‘log_bin’;
当前的日志
mysql> show master status;
看二进制日志文件用mysqlbinlog
shell>mysqlbinlog -v mail-bin.000001
或者shell>mysqlbinlog -v mail-bin.000001 | tail
binglog的类型
binlog的格式有三种,这也反应了mysql的复制技术:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。相应地,binlog的格式也有三种:STATEMENT,ROW,MIXED。
mysql>showvariables like ‘binlog_format’ #查看binlog的格式
mysqlbinlog 恢复
不同的mysql mysqlbinlog版本不一样,需要获取到进程自身的mysqlbinlog
- 只查看第一个binlog文件的内容
show binlog events; - 查看指定binlog文件的内容
show binlog events in 'mysql-bin.000002'; - 查看当前正在写入的binlog文件(当前数据库使用的binlog)
show master status; - 获取binlog文件列表
show binary logs; - 查看所有binlog日志列表
show master logs; - 清空binlog日志文件
reset master - 刷新 log 日志,重新生成一个新编号的 binlog 日志文件
flush logs;
导出 binlog
mysqlbinlog -v binlog.000003 > /home/ryan_binlog.sql
记得要加上 -v,不然导出时,无法看到修改的SQL语句,也就无法进行定位,
-v 选项可以从行事件中重建伪 SQL 语句。
导入 binlog,恢复数据
基于开始/结束时间
mysqlbinlog binlog.000003 --start-datetime=2021-01-20 10:00:00 --stop-datetime=2021-01-23 10:00:00 -v | mysql -uroot -p
基于 pos 位点
mysqlbinlog binlog.000003 --start-position=528 --stop-position=1778 -v | mysql -uroot -p
或者也可以使用下面的工具生成回滚 SQL 进行恢复:
https://github.com/zhengjianhong001/binlog2sql
https://dev.mysql.com/doc/internals/en/binary-log.htmlhttps://www.jianshu.com/p/c16686b35807http://www.ttlsa.com/mysql/super-useful-mysqlbinlog-command/
MySQL 误操作 数据恢复的更多相关文章
- MySQL 误操作后数据恢复(update,delete忘加where条件)【转】
在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句 写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者 ...
- MySQL误操作后如何快速恢复数据
基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了 ...
- MySQL误操作删除后,怎么恢复数据?
MySQL误操作删除后,怎么恢复数据?登陆查数据库mysql> select * from abc.stad;+----+-----------+| id | name |+----+----- ...
- MySQL 误操作后如何快速恢复数据~!~!~
基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了 ...
- MySQL误操作后如何快速回滚(转)
本文转自http://www.cnblogs.com/dfcao/p/6147970.html#undefined 感谢作者 基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,My ...
- MySQL误操作后如何快速恢复数据?
摘要: 利用binlog闪回误操作数据. 基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如 ...
- MySQL 误操作后数据恢复(update,delete忘加where条件)
在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者D ...
- binlog2sql实现MySQL误操作的恢复
对于MySQL数据库中的误操作删除数据的恢复问题,可以使用基于MySQL中binlog做到类似于闪回或者生成反向操作的SQL语句来实现,是MySQL中一个非常实用的功能.原理不难理解,基于MySQL的 ...
- mysql误操作后通过binlog恢复,同时解决tmp目录满的问题
注意: 本文的恢复,并不是基于恢复某个时间点的全量备份后的增量恢复,而是指在现有数据库基础上基于binlog的恢复.适用于较小的数据误操作. 提取日志文件为sql语句: /usr-ext/local/ ...
- MySQL binlog2sql实现MySQL误操作的恢复
对于MySQL数据库中的误操作删除数据的恢复问题,可以使用基于MySQL中binlog做到类似于闪回或者生成反向操作的SQL语句来实现,是MySQL中一个非常实用的功能.原理不难理解,基于MySQL的 ...
随机推荐
- Python操作LDAP,对用户进行认证(验证用户名以及密码)
Python操作LDAP,对用户进行认证 1.环境 Python版本: 3.7.1 操作系统:windows 7 x64 第三方包:python-ldap 2.LDAP LDAP,它是基于X.500标 ...
- 揭秘如何用Monaco Editor打造功能强大的日志查看器
Monaco Editor 是一个基于浏览器的代码编辑器,由 Microsoft 开发,是 Visual Studio Code 的核心编辑器组件.为用户提供了一个功能丰富.性能优异的代码编辑环境,常 ...
- GAMES101作业3
作业要求: 作业效果: 我们需要做的: 在rasterizer.cpp中修改: 函数rasterize_triangle(const Triangle& t) //实现与作业 2 类似的插值算 ...
- AI应用实战课学习总结(10)用CNN做图像分类
大家好,我是Edison. 最近入坑黄佳老师的<AI应用实战课>,记录下我的学习之旅,也算是总结回顾. 今天是我们的第10站,一起了解CNN卷积神经网络 以及 通过CNN做图像分类任务的案 ...
- 解密prompt系列56.Agent context Engineering - 单智能体代码剖析
近期关于智能体设计有诸多观点,一个关键点让我豁然开朗--无论智能体是1个还是多个,是编排驱动还是自主决策,是静态预定义还是动态生成,Context上下文的管理机制始终是设计的核心命脉.它决定了:每个节 ...
- R语言dplyr包filter函数 Error in filter(., ) : 找不到对象的报错原因和解决办法
报错描述 当我们想使用dplyr包中的 filter 函数对指定的dataframe进行如下的行筛选时,R报错Error in filter(., ) : 找不到对象X.stage_id.,提示我们没 ...
- vim卡死 转载
博客园 玩了这么多年linux 居然不知道这个..特此记录. 使用vim时,如果你不小心按了 Ctrl + s后,你会发现不能输入任何东西了,像死掉了一般,其实vim并没有死掉,这时vim只是停止向终 ...
- leetcode 1556
简介 简单题 思路:sprintf 将数字转为字符串,然后新建一个空的字符串然后将逆序统计是否可以被3整除添加0 感觉简单题做的也很慢 参考链接 https://github.com/haoel/le ...
- HF Papers 直播| AI for Science 专场
AIGC热点大赛# 由 Hugging Face × OpenMMLab × ModelScope × 知乎 × 机智流等 联合发起的[AI Insight Talk]系列直播活动第三场即将开始! A ...
- Confidence First: Yale University's ideal of mind
"客观规律"."科学"与"真理"无处不在,只待"有缘人". 艺术化形象化的通俗表达:"道物法术器"遇 ...