第六章:MySQL高级进阶-如何恢复误删的数据

直接学习:https://edu.csdn.net/course/play/27328/370721
如何恢复误删的数据
#1、什么是binlog日志
mysql 的二进制日志binlog日志可以说是mysql最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行消耗的时间,mysql的二进制日志是事务安全型的。
万一遇到数据丢失的紧急情况下,可以使用binlog日志进行数据恢复(定时全备份+binlog日志恢复增量数据部分)
#2、示例代码如下:

create table test_binlog(
id int not null auto_increment primary key,
name varchar(30)
);
show master logs;
show master status;
flush logs;
show master status;
insert into test_binlog(name) values('aaa');
insert into test_binlog(name) values('bbb');
insert into test_binlog(name) values('ccc');
insert into test_binlog(name) values('ddd');

flush logs;
show master status;
delete from test_binlog where id in(2,3);
select * from test_binlog;

flush logs;
show master status;
source d:\backup\test02.sql
select * from test_binlog;

mysqlbinlog -v --base64-output=decode-rows "C:\ProgramData\MySQL\MySQL Server 8.0\Data\PC-20200103FKOW-bin.000034"
mysqlbinlog -v --base64-output=decode-rows "C:\ProgramData\MySQL\MySQL Server 8.0\Data\PC-20200103FKOW-bin.000034" --start-position  603 --stop-position 1037 > d:\backup\test02.sql
source d:\backup\test02.sql
发布了115 篇原创文章 · 获赞 6 · 访问量 1016

猜你喜欢

转载自blog.csdn.net/weixin_43597208/article/details/105547342