MySQL通过binlog日志进行数据恢复

记录一次阿里云MySQL通过binlog日志进行数据回滚

问题描述由于阿里云远程mysql没有做安全策略 所以服务器被别人远程攻击把数据库给删除,通过查看binlog日志可以看到进行了drop操作,下面将演示通过binlog日志进行数据回滚操作。

在这里插入图片描述

1、查询是否开始binlog

#查看binlog是否开启  默认开启状态
show variables like '%log_bin%';

在这里插入图片描述

2、查询所有的Biglog日志

show binary logs; #查询所有的binlog日志

在这里插入图片描述

3、查询指定的binlog日志 并输出相关操作信息

通过文件大小也可以看出 我这个binlog日志mysql-bin.000002中所以查看指定的日志信息

show binlog events in 'mysql-bin.000002'; #查询指定的binlog日志 并输出相关操作信息

在这里插入图片描述

如果是最新的操作也可以查看最新的日志信息

show master status; #查询最新的binlog日志

4、查询binlog日志保存位置

show variables like '%log_bin_basename%'; #查询binlog日志保存位置

5、还原命令

进入mysql bin目录
在这里插入图片描述

 ./mysqlbinlog --no-defaults --start-position=234 --stop-position=1079434 /data/mysql/mysql-bin.000002 | ./mysql -h 127.0.0.1 -uroot -p123456

参数详解:

  • ./mysqlbinlog:binlog执行命令
  • –start-position=234 起始位置对应的Pos字段
  • –stop-position=1079434 结束位置对应的Pos字段
  • /data/mysql/mysql-bin.000002 binlog文件位置
  • ./mysql -h 127.0.0.1 -uroot -p123456 连接mysql信息

现在想从第一次创建表到第一次删除库之前进行还原

在这里插入图片描述

在这里插入图片描述

所有起始位置就是234 结束位置就是1079434

进入mysql bin目录执行还原语句,查看数据库成功还原

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值