当前位置:网站首页>MYSQL误删数据恢复
MYSQL误删数据恢复
2022-08-03 18:38:00 【m0_67401660】
目录
所有演示代码
-- 查看binlog是否开启
show variables like 'log_bin';
-- 查询binlog日志
show binlog EVENTS;
-- 创建表
CREATE TABLE `user_5` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8;
-- 新增3条数据
INSERT INTO user_5 VALUE(1, '王明');
INSERT INTO user_5 VALUE(2, '王亮');
INSERT INTO user_5 VALUE(3, '李鹏');
-- 查看数据
select * from user_5;
-- 删除user_5表 - 误删操作
-- 三种查看binlog日志的方式
-- 查询binlog日志(默认查询第1个binlog)
show binlog EVENTS;
-- 指定log_name进行查询(log_name可以通过mysql目录中查看, 也可以通过上一步命令推断):
show binlog EVENTS in 'mysql-bin.000004';
-- 指定pos从1520开始查询, 返回10条记录
show binlog EVENTS in 'mysql-bin.000004' from 1520 LIMIT 0, 10;
-- 恢复数据(命令执行)
-- mysqlbinlog binlog日志位置 --start-position ${Pos日志起始位置} --stop-position ${End_log_pos日志截止位置}
mysqlbinlog /var/lib/mysql/mysql-bin.000001 --start-position 1974 --stop-position 2250 | mysql -uroot -p123456
生成的binlog文件命名规则
binlog文件会产生很多, 并非一个文件, 所以通常需要指定binlog文件名查询

binlog文件

自定义binlog文件前缀
binlog文件命名规则:自定义的前缀 + 递增数值
mysql-bin+递增000001 = mysql-bin.000001mysql-bin.000002 …
三种查看binlog日志方式
– 默认查询第1个binlog
show binlog EVENTS;
– 指定log_name进行查询(log_name可以在mysql安装目录中查看
show binlog EVENTS in ‘mysql-bin.000004’;– 指定pos从1520开始查询, 返回10条记录
show binlog EVENTS in ‘mysql-bin.000004’ from 1520 LIMIT 0, 10;
恢复步骤
第一步: 首先需要找到待恢复的sql在哪个binlog文件中以及哪个Pos位置, 然后执行
SQL命令[show binlog EVENTSin ‘mysql-bin.000004’] 查询指定binlog日志详情, 可以看到下图中存放创建表语句的位置是1974 - 2257 (Pos列 - End_log_pos列)

第二步: 执行恢复语句
进入mysql安装的bin目录中, 执行以下命令进行数据恢复.
mysqlbinlog /var/lib/mysql/mysql-bin.000004 --start-position 1974 --stop-position 2257| mysql -uroot -p123456
mysqlbinlog b i n l o g 文件全路径 ∗ ∗ − − s t a r t − p o s i t i o n ∗ ∗ {binlog文件全路径}** --start-position ** binlog文件全路径∗∗−−start−position∗∗{起始Pos}–stop-position ${截止Pos}|
mysql -u**KaTeX parse error: Undefined control sequence: \- at position 8: {账号}** \̲-̲p**{密码}**
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
6000 字+,帮你搞懂互联网架构演变历程!
typescript学习笔记
大佬们,flinkcdc 2.2 版本采集sqlserver只能采集到全量的数据,不能采集到增量的数
Confused!Ali was abused on the one hand, but was fortunate to be promoted to Huawei's technology, and successfully got the offer, with an annual salary of 40w
动态接口比例性能测试实践
POJ 2377 Bad Cowtractors(最大生成树)
pytest接口自动化测试框架 | Jenkins集成初探
Big guy, who is free to help me to see what the problem is, I just read MySQL source print, and I just came into contact with flink.
【Django-Docker】Sqlite3.db读取权限不够-20220803
异常与智能指针
cocos creater 3.x 插件安装方法
WEB 渗透之SSRF
【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position
Shell编程案例
C#将位图旋转90度
Mkke:为什么无法从Oracle 11g或12c升级到Oracle 23c?
红日安全内网渗透靶场-VulnStack-1
常见荧光染料修饰多种基团及其激发和 发射波长数据一览数据
2022年7月国产数据库大事记
MD5是对称加密还是非对称加密,有什么优缺点









