首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

二进制日志恢复数据库

建站教程,如果不感兴趣的忽略久好。

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

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

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

恢复原理:通过二进制日志生成 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

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

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

一个人输出有价值文章的公众号 「自认为」

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190124G141CW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券