admin管理员组

文章数量:1582044

首先感谢自己的手欠,把线上真实的数据库被删,真的是手贱点到了,浪费了一天的时间

自己记录一下,也方便自己的以后再次删库,这次以宝塔为例,因为我是在宝塔误删的,其他的我觉得大同小异
废话不多说,直接进入主题
1、直接进入数据库

mysql -uroot -p

Enter password:

然后执行

mysql> show variables like’log_bin%’;

你会看到 这样的界面

2、找到数据库data文件夹,默认在数据库安装的目录下,宝塔的是默认 www/server/data/,进入到data文件夹下
执行

ll

就会看到这样的界面


根据时间,找到想要恢复的片
然后这个就需要你的推理能里,或者英文能力了,我的是下7月17 下午13:12分删除了,在这个可以看到删除的时间
我根据大小和时间判断 我的是 mysql-bin.000005
然后最好备份一下这个文件

cp www/server/data/mysql-bin.000005 /home/

查看是否备份成功

发现有了就行了,然后就是最重要的步骤了
然后执行

mysqlbinlog --base64-output=DECODE-ROWS -v -d crmeb mysql-bin.000005 > data.sql

在此,可能有一个问题,就是mysqlbinlog 命令找不到,其实可以用软连接的形式

find / -name mysqlbinlog -print

ln -fs /www/server/mysql/bin/mysqlbinlog /usr/bin

执行上面两步,就可以使用这个命令了。

然后,将生成的data.sql进行还原就可以了

mysql -uroot -p -f 数据库名 < data.sql ( 在这之前 最好先创建一下数据库 )

本文标签: 数据恢复数据库mysql