MySQL数据库表数据被删如何找回----利用mysqlbinlog----超详细

本文介绍了在遭遇数据库被删事件后,如何通过MySQL的Binlog日志进行数据恢复。步骤包括登录数据库、检查Binlog状态、开启日志、查找日志文件、使用mysqlbinlog工具输出SQL语句,并最终手动恢复数据。提醒设置复杂密码以防数据库被黑。
摘要由CSDN通过智能技术生成

自己写了个微信小程序,买了腾讯云服务器并注册了域名。项目已经部署完毕,一切准备就绪准备发布上线,结果第二天发现数据库所有的表被删了!!!!
仔细想了想,数据库密码好像设置太简单了,有可能是被黑了。
不过有办法找回,只是一些基础数据,问题不大。
喝杯水压压惊!
以下介绍如何找回

一、登录数据库

mysql -uroot -padminroot@@****;

在这里插入图片描述

二、查看Binlog日志开启状态

1、输入以下命令查看状态

show variables like '%log_bin%';

在这里插入图片描述
ON为开启状态, OFF为关闭状态

2、如果为OFF关闭状态如何开启

##配置binlog日志路径以及日志文件名前缀、生成的日志格式为:bin-log.000001
log-bin=/var/lib/mysql/bin-log
##注意5.7以及更高版本需要配置本项、自定义,保证唯一性
server-id=1
##binlog格式,有3种statement,row,mixed,区别的话,请自行搜索
binlog-format=mixed
##表示每1次执行写入就与硬盘同步,会影响性能,为0时表示,事务提交时mysql不做刷盘操作,由系统决定
sync-binlog=1;

三、查看binlog日志的存放目录

show variables like '%datadir%';

宝塔面板装的话会在/www/server/data/目录下
在这里插入图片描述

四、进入/www/server/data/目录下查找binlog日志

在这里插入图片描述
我们看到最新日志是mysql-bin.000017

5、切换到安装MySQL的bin目录,利用mysqlbinlog工具输出日志

注:日志中记录了数据库的所有操作,通过输出的日志可以找回数据,需要手动恢复。数据量大的话恢复的时间比较长。
在这里插入图片描述

6、利用mysqlbinlog输出日志到指定路径

必须切换到mysqlbinlog目录才有效(具体位置在mysql安装目录**/mysql/bin/下)

mysqlbinlog /www/server/data/mysql-bin.000017 > /www/cc.sql

这时如果报错的话我们就需要从根路径指定

/www/server/mysql/bin/mysqlbinlog /www/server/data/mysql-bin.000017 > /www/cc.sql

这时我们会看到/www目录下会有个cc.sql文件,打开文件就会看到数据库所有操作日志,日志中包含所有增删改查的SQL语句。

7、彩蛋

这是数据被黑之前他们留的一张表,让支付比特币找回数据,
在这里插入图片描述
找了一百多万条数据,终于找到被删日志,清空了我数据库所有表、、、气愤!
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值