docker中的mysql容器数据被黑复原操作

此操作为安装数据库时开启了binlog的恢复操作,通过mysql自带的mysqlbinlog工具进行文件解析复原数据库。由于docker mysql镜像中没有mysqlbinlog工具,所以借助本地数据库自带的mysqlbinlog进行解析。

一、下载log数据

  • 找到映射data目录,binlog默认保存在data目录下,将binlog文件下载到本地。
    在这里插入图片描述

二、解析恢复数据库

  • 找到本地数据库中的mysqlbinlog工具所在目录,在此目录打开cmd窗口

windows版本的mysqlbinlog工具一般在mysql的bin目录下。

  • 打开cmd窗口,输入解析命令
    在这里插入图片描述

解析命令:mysqlbinlog --set-charset=utf-8 C:\Users\31785\Desktop\fsdownload\mysql-bin.000003>backuptmp.sql
在这里插入图片描述

  • 进行解析

此时解析文件保存在mysqlbinlog同级目录下。
在这里插入图片描述

通过对解析文件中的sql操作进行分析,可以找到整个库被删除的操作事件pos结束点,同时我们找到要恢复的数据库操作的pos开始点和结束点,然后进行还原操作即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 恢复数据库

恢复命令: mysqlbinlog -v C:\Users\31785\Desktop\fsdownload\mysql-bin.000003 --start-position=2560 --stop-position=68542 | mysql -uroot -p123456

此时本地数据库中将会复原这一段sql操作记录。

三、将恢复数据库迁移到服务器上

  • 借助dbheaver提供的数据库工具进行迁移操作。
    在这里插入图片描述

  • 迁移成功

@import "img\dockermysql9.png"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值