被删库勒索的一次记录

项目在云服务器运行了一年多了,中间迁移过一次,从阿里迁到华为了。

迁移的时候把数据库文件 test.sql 用完了之后就扔在了服务器上。

最近访问系统的时候,忽然系统崩溃,表不存在了。

数据库连接工具也连不上了,到服务器上的数据库连接工具也登录不进去了。

后来发现root用户没有了,新增了root用户,进入数据库,发现这个东西。。。

woc,中勒索病毒了?(事后发现不是服务器中毒,是密码太简单被破解了。。。)

想办法恢复数据吧,多方打探,找到通过binlog日志文件恢复数据的方法,但是基本都是linux系统的,但是大同小异,windows上基本一样。

介绍一下binlog日志文件,记录了库表字段数据的增删改操作,可用于主从数据同步、数据恢复。

window环境

1、登录mysql

mysql -u root -p

2、查看日志文件(mysql8.0以前,是默认不开启的,得亏我用的是8之后的版本,不然真凉了)

show variables like ‘%log_bin%’;

查看mysql目录下的 .ini 配置文件datadir配置的地址(我这里没有配置,默认就在mysql安装目录的data目录下)

mysql安装目录的bin目录下,管理员打开cmd

3、执行命令(我为了方便把binlog.000001文件复制到bin目录下一份)

mysqlbinlog --no-defaults --base64-output=decode-rows -v binlog.000001 > binlog01.sql

生成下图带有被注释掉的SQL 语句的文件,通过这个文件

注:文件太大普通编辑器打不开的话,安装UltraEdit编辑器打开,拖到最后,这里记录了他的罪行

找到 删库前,最后一条正常的业务操作, at  648335612 (记住这个数字)

拉到最前面,找到第一个at  4  (记住这个数字)

4 删除坏掉的库,把原来 迁移的时候把数据库文件 test.sql 重新导入(这个文件的时间和日志的时间是匹配的,binlog文件是在此基础之后记录的)

注:每次重启MySQL服务和刷新日志的话,会产生新的日志文件,如果是多个,根据时间执行执行。

5 执行命令

--start-position=4 //开始操作记录节点(前面at后面的数字)

--stop-position=648334479  //结束操作记录节点(前面at后面的数字)

-d databasename  //恢复指定数据库,mysql里面可能有多个数据库,不指定恢复所有库

binlog.000003

|mysql -uroot -p password databasename  //登录mysql信息

mysqlbinlog  --start-position=4 --stop-position=648334479 -d databasename binlog.000003|mysql -uroot -p password databasename

等待完成,恢复成功。

最后:密码用的复杂一些,记得开启日志(损耗1%的性能左右),记得保存好迁移时的数据库文件。

mysql 数据恢复 binlog相关推荐

  1. MySQL通过binlog数据恢复

    MySQL数据恢复 binlog的作用 修改类型恢复 删除类型恢复 insert类型恢复 删库跑路-彻底删除 删库一时爽,事后火葬场 2020年微盟删库事件 2018年杭州 2017年北京 恢复数据也 ...

  2. 记录:mysql的binlog日志开启与数据恢复

    1.测试使用mysql版本: mysql-5.6.43 2.以下为方便学习所以做了记录,除了第一部分是我自己的环境配置,第二部分大家可参考一下博文. <平头哥的技术博文>平头哥的技术博文 ...

  3. 天堂2启动mysql就没了_启用二进制日志文件进行mysql数据恢复

    启用二进制日志文件进行mysql数据恢复 查看文件/etc/my.cnf中[mysqld]配置块的是否配置log-bin 项,用来记录数据库更改的日志, 然后设置要需要写入日志的数据库或者不要写入日志 ...

  4. mysql通过binlog日志来恢复数据

    简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通 ...

  5. mysqldump全量恢复_删库不跑路-详解MySQL数据恢复

    日常工作中,总会有因手抖.写错条件.写错表名.错连生产库造成的误删库表和数据的事情发生,那么,如果连数据都恢复不了,还要什么 DBA. 相关文章 MySQL备份策略:https://segmentfa ...

  6. MySQL 数据恢复

    MySQL 数据恢复 前言 前两天因为没注意的误操作, 直接把某个数据表清掉了, 心慌慌. 怪自己学艺不精, 当时整了一下午也没把数据找回来. 当晚回来闭关研究, 终于在凌晨1点多整出来了, 特此记录 ...

  7. MySQL 之binlog日志说明及利用binlog日志恢复数据操作记录

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一 ...

  8. Java代码中,如何监控Mysql的binlog?

    最近在工作中,遇到了这样一个业务场景,我们需要关注一个业务系统数据库中某几张表的数据,当数据发生新增或修改时,将它同步到另一个业务系统数据库中的表中. 一提到数据库的同步,估计大家第一时间想到的就是基 ...

  9. linux mysql恢复数据_删库不跑路详解MySQL数据恢复

    作者:程淇铭 出处:https://segmentfault.com/a/1190000020116271 日常工作中,总会有因手抖.写错条件.写错表名.错连生产库造成的误删库表和数据的事情发生,那么 ...

  10. mysql的binlog意义_带你解析MySQL binlog

    前言: 我们都知道,binlog可以说是MySQL中比较重要的日志了,在日常学习及运维过程中,也经常会遇到.不清楚你对binlog了解多少呢?本篇文章将从binlog作用.binlog相关参数.解析b ...

最新文章

  1. python中国地图热力图是什么意思_python实现输入的数据在地图上生成热力图效果...
  2. Java Calendar 类的时间操作
  3. VScode中html怎么引入js,vscode中如何使用typescript,如何自动编译成js文件
  4. 交换两个变量ab的值PHP,由[交换两个变量的值问题]理解程序的时空复杂度
  5. 《SpringBoot揭秘:快速构建微服务体系》—第3章3.5节本章小结
  6. python中的str方法和repr方法_Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些
  7. C语言中指针的基类型,c – 将指针从一种基类型转换为另一种基类型
  8. 看到这个我冷汗直冒,还好不是指我……
  9. ArcGIS下载在线地图影像上篇(手工版)
  10. 四阶龙格库塔matlab计算例题,四阶龙格库塔法matlab实现
  11. 计算机为什么要设置用户账号密码,电脑用户名是什么意思(怎么修改及设置用户名)...
  12. vue html if,vue中v-if使用方法详解
  13. 新电脑如何进行磁盘分区?
  14. 腾讯撕开中国NFT的“遮羞布”
  15. Java Web安全之代码审计
  16. 汇报措辞:你懂得怎样向领导汇报吗(审阅、审批、批阅、批示、查阅)?
  17. 视频教程-线上培训上课实录整站设计制作开发全能培训-HTML5/CSS
  18. 触摸屏I2C驱动移植
  19. 免费备份工具FreeFileSync
  20. 刀客建站系统安装流程

热门文章

  1. 网络工程师十个常见面试问题
  2. 华为交换机系统软件升级和安全漏洞修复教程
  3. IOC容器构造之资源文件定位源码分析
  4. andriod安装linux系统
  5. java课设超市收银系统_超市收银系统java课程设计.doc
  6. 不可逆调速matlab,双闭环不可逆直流调速系统课程设计(matlab仿真设计)
  7. 单机数据库,集群数据库,分布式数据库的概念和比较
  8. 好用的工程项目管理软件推荐
  9. java poi合并单元格后内容无法显示
  10. 数车计算机编程教学caxa,caxa数控车软件编程全套视频教程2016/2015