记录一次linux mysql被黑留下warning表的解决过程

    昨天负责项目的朋友跟我说,有台日本服务器测试环境打不开,我去检查时发现mysql两个库,正式库和测试库表都被删了,只剩下一个warning表,打开warning表正如之前网路流行的比特币勒索事件一致,3个列:说明 | 比特币地址 | 邮箱,说明如下图(英文不好,习惯使用翻译)。 看到之后,顿时惊得一身冷汗... 没想到自己抱着侥幸心理,最终还是落得被黑的下场.

 

 

   因为之前看新闻都说黑客删除数据库之后连着备份文件一起删了,去看了之后果然被删.

   再去看mysql日志,还好二进制日志还在,后面就开始恢复流程,最终恢复数据.

   1. 让朋友问服务器厂商是否有服务器镜像备份,得知有前一天的,所以工作量还不是很大,只需要找回当天的数据就行

   2. 进入mysql通过sql:SHOW MASTER LOGS;  查询二进制日志列表,有数据就有戏

  3. 逐个打开这些文件,找到最新的日志文件,不一定是后面文件序号的顺序(其他网友说的)

  4.找到之后通过sql查询此日志文件的所有事件点 sql:show binlog events in “mysql-bin.000027”;

  5. 会得到成千上万的事件发生点和时间,因为我当时没截图,所以找了一张其他网友的。而且这是表中可以找到被黑客删库的时间,以及创建warning表的操作和时间.

 6. 然后通过binlog的操作命令将当天的sql导出来sql:mysqlbinlog  mysqlbin.000027 --start-datetime='开始时间' --stop-datetime='结束时间' >xxxx.log     ps:这个命令可携带很多参数,按需所取,重点就是按数据库恢复、按时间点恢复,按事件点恢复

7. xxxx.log是自定义路径下的自定义sql文件,然后在本地测试是否有错(有些注释会报错,需要先解决)

8. 告知厂商帮忙恢复服务器镜像到昨天的

9. 将导出的sql放进数据库执行

10. 修改mysql访问  从可远程->localhost

11. 修改mysql端口 从3306->其他

12. 修改root密码

13. 修改其他账号密码

14. 重启mysql

15. 修改代码包数据库连接,打包 部署

16. 服务器访问ip白名单

数据就全部恢复了...并且亡羊补牢一些服务器漏洞,应该为时不晚

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑い一刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值