mysql回档操作

误删除数据库操作

模拟操作

数据库每天进行一次数据库备份,binglog每天生成一个新文件,三天钱创建了一个数据库,今天删除了其中的一张表,现要求恢复数据

第一步:

show binary logs; #获取binlog文件列表
show master status; #查看当前正在写入的binlog文件 记录当前删除之后的pos点
flush logs; #刷新  binlog  重新生成binlog文件

第二步:

 将执行删除操作的数据库备份   以备不时之需

第三步:

将昨天的备份恢复到现存数据库

第四部查看当天的binlog

mysqlbinlog --no-defaults  /var/lib/mysql/mysql-bin.000008


#其中包含今天新增数据和删除数据的命令

/*!80011 SET @@session.default_collation_for_utf8mb4=255*//*!*/;
BEGIN
/*!*/;
# at 309
#211011 18:56:33 server id 1  end_log_pos 369 CRC32 0xd6ad0ce6 	Table_map: `zbb`.`t` mapped to number 120
# at 369
#211011 18:56:33 server id 1  end_log_pos 429 CRC32 0x7a99aafc 	Write_rows: table id 120 flags: STMT_END_F

BINLOG '


/*!*/;
# at 613
#211011 18:56:46 server id 1  end_log_pos 673 CRC32 0x6da63852 	Table_map: `zbb`.`t` mapped to number 120
# at 673
#211011 18:56:46 server id 1  end_log_pos 733 CRC32 0x5e9ab277 	Delete_rows: table id 120 flags: STMT_END_F





mysqlbinlog --no-defaults  --stop-datetime="2021-10-11 18:56:39"  /var/lib/mysql/mysql-bin.000009 -d zbb|mysql  -uroot -p123456  -f

企业实战

昨天删除了2张表 现要求恢复到未删除的状态

恢复昨天的数据

从昨天的备份sql中取出那两张表结构和数据

注mysqldump导出的都是insert语句

grep -i 'INSERT INTO `www`' all109.sql >> wcmmle.sql
mysqldump  -uroot -p"123"  -d zbb www  >www.sql
#-d 是导出表结构  
#-t 是导出表数据

导出binglog增量数据

mysqlbinlog --no-defaults  --start-datetime="2021-11-09 00:10:00" mysql-bin.000361 |egrep "表1|表2"  >2.sql &
mysqlbinlog --no-defaults   mysql-bin.000362 |egrep "表1|表2"  >>2.sql &
mysqlbinlog --no-defaults   mysql-bin.000363 |egrep "表1|表2"  >>2.sql &
mysqlbinlog --no-defaults   mysql-bin.000364 |egrep "表1|表2"  >>2.sql &
mysqlbinlog --no-defaults  --stop-datetime="2021-11-09 22:00:00" mysql-bin.000365 |egrep "表1|表2"  >>2.sql &

sed  -i  "s#\#Q> ##g"  2.sql

重定义文件格式

# -*- coding: utf-8 -*-

with open("./2.sql") as f:
    with open("./3.sql", "w") as f2:
        for i in f:
            f2.write(str(i.strip()) + ";" + "\n")
       

在测试库中操作

恢复表结构

恢复数据

create    zbb;
mysql -uroot -p"123"  zbb </www.sql
mysql -uroot -p"123"  zbb <wcmmle.sql

恢复增量数据

mysql -uroot -p"123"  zbb <3.sql
posted @ 2021-10-18 21:07  追梦nan  阅读(378)  评论(0编辑  收藏  举报