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

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

一、下载log数据

  • 找到映射data目录,binlog默认保存在data目录下,将binlog文件下载到本地。
    docker中的mysql容器数据被黑复原操作_第1张图片

二、解析恢复数据库

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

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

  • 打开cmd窗口,输入解析命令
    docker中的mysql容器数据被黑复原操作_第2张图片

解析命令:mysqlbinlog --set-charset=utf-8 C:\Users\31785\Desktop\fsdownload\mysql-bin.000003>backuptmp.sql
docker中的mysql容器数据被黑复原操作_第3张图片

  • 进行解析

此时解析文件保存在mysqlbinlog同级目录下。
docker中的mysql容器数据被黑复原操作_第4张图片

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

  • 恢复数据库

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

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

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

  • 借助dbheaver提供的数据库工具进行迁移操作。
    docker中的mysql容器数据被黑复原操作_第6张图片

  • 迁移成功

docker中的mysql容器数据被黑复原操作_第7张图片

你可能感兴趣的:(docker,mysql,docker,数据库)