美文网首页互联网科技程序员
误删数据库|二进制日志恢复数据库

误删数据库|二进制日志恢复数据库

作者: kite1874 | 来源:发表于2019-01-24 16:10 被阅读7次

    大前天晚上不知道是不是抽风。为了试用织梦CMS,竟然把做好的网站VPS当成了另外一个用来折腾的VPS。不小心把网站数据库的数据给删了,由于自己该死的粗心大意,完全没有备份。 当时真TM的想给自己一巴掌!差点哭出来了。 以前还看过不少删库跑路的笑料。真没想到今天我也落个这样的下场。

    后来不断在网上搜索抢救的方法,发现了二进制日志这种东西可以恢复。发现自己有开启bin-log「要开启才会成二进制日志」,那一刻感觉上帝还是爱我的!经过那天晚上熬夜抢救终于恢复了!

    附上网站网址:https://www.read008.xyz/

    由于自己是完全小白,对数据库也不懂。花了很大的力气才抢救回来。准备写写这个过程,大家引以为戒。写个教程,以备这种情况的发生!还有帮助遇到同样问题的朋友。一定要养成备份的习惯!!!!

    恢复原理:通过二进制日志生成sql文件,再运行sql文件重新录入数据。

    如果对着我这教程操作的,推荐先看完再操作,看看哪些地方疑惑的,再百度。不要盲目操作。

    在发现自己不小心删除了数据库的时候,先检查自己有没有备份,如果没有再看看有没有生成二进制日志,名字是以这种「 mysql-bin.xxxx 」的格式保存的。我自己比较菜,网站用的BT宝塔面板来搭建的。

    二进制日志路径

    二进制日志存放的路径是你数据库的设定有关的。BT面板是默认放在这个位置。

    二进制日志

    就是这几个白花花的救命稻草!

    然后你需要用SSH链接你的VPS「这就不多说了,会搭建网站应该都会的」。

    连接数据库

    使用命令: mysql -u用户名 -p密码 「账号密码是你安装数据库时候设置的」

    链接成功

    账号密码都正确的话,就这个样子

    全部二进制日志

    如果你不是用BT宝塔面板来操作你的网站的,你需要用 show binary logs 来查看全部二进制日志。

    知道我们的二进制日记有哪些之后,使用 CTRL+C 退出断开数据库。

    好戏开始!

    然后输入: /www/server/mysql/bin/mysqlbinlog /www/server/data/mysql-bin.000005 >/www/server/data/hufu5.sql

    你有多少个二进制日志文件,就执行多少次「不包括最后一个二进制日志」

    例如: /www/server/mysql/bin/mysqlbinlog /www/server/data/mysql-bin.000006 >/www/server/data/hufu6.sql

    注意我框起来的位置。这些路径不一定和你的相同。 如果是BT宝塔面板搭建的网站,应该是跟我一样的。 具体是什么你自己去查看。主要找出mysqlbinlog 、mysql-bin.xxx 这俩的位置。最后那个路径的是存放你创建的sql文件的位置,路径和文件名可以随意,但是也要记得放在哪里。

    注意:最后一个二进制日志和上面的执行语句不同。因为你删除数据库的记录也在日志里面。你需要除掉这个记录,不然恢复的数据库又会被删掉!

    /www/server/mysql/bin/mysqlbinlog /www/server/data/mysql-bin.000009 –stop-datetime=”2019-01-21 20:00:00″ >/www/server/data/hufu9.sql

    这个语句和上面那个的区别,就多了 –stop-datetime=”2019-01-21 20:00:00″ 我删库的时间大概是 20:30:00 左右。 为了避免把删除数据库的记录也生成在sql文件中,这里的时间要取删掉数据前的时间。具体时间我是不知道的,所以我提前了半个小时。 还可以通过点的方式来取回数据,我就不演示了。自己自行百度。

    上面操作完了,就已经用二进制日志生成了对应的sql文件了。

    在回复之前我们要创建一个和你的删掉的数据库一样名字的数据库。用BT宝塔创建就不说了。如果是命令行用 create database 数据库名称「我恢复的时候是创建了的,不知道是不是必须的」。

    最后。依次运行生成的sql文件就可以了「生成多少个就运行多少个」

    命令:source 文件所在路径/xxx.sql

    运行完之后打开你的网站看看。看看是否正常

    如果这个教程对你有用的话,可以在下面留言。让大家看看不只我一个人这么傻。

    个人公众号:kitelife

    相关文章

      网友评论

        本文标题:误删数据库|二进制日志恢复数据库

        本文链接:https://www.haomeiwen.com/subject/ncxujqtx.html