前言

最近比较闲,想着马上要期末考试了,先装个OJ耍一下,结果命令没复制几行就发现:

我站咋连不了数据库了?

不看不知道,一看吓一跳,我5.7都被删了——

"我**的MySQL呢?还我妈生MySQL"

(服务器就用错了)

修复过程

Scene 1

放在以前我不注意着我站在这乱搞都可以,但现在我站都30多篇文章了,怎么可能容得下这么乱搞?

说是迟那是快,我就尝试去把我数据库数据给下载下来,这样我就可以换个数据库就能搞定了。

but——怎么会有这么简单的问题呢???

"数据库都启动不了你还指望着去后台备份呢,闹呢?"

实属无奈我只能先把我的数据库目录下的文件全部下载下来,尽可能恢复资料吧,于是我卸载了与MySQL有冲突的那个程序重新安装了MySQL,因为我开数据库回收站了,我就直接还原了,结果进入网站后报了一大堆错。

进数据库一看我的天,数据表全损坏了,此时已经在情绪崩溃的边缘了。

Scene 2

一开始我想着能不能修复数据表,因为数据表是损坏了的,修复了肯定就可以了,但我想起了宝塔把数据库扔回收站里面表或多或少会出点问题,所以这个方案被pass了。

此时我比较迷茫,因为这个小改学习志并不像我以前的博客那样管理随意,本站文章怎么说也超过了30篇,付出了很多心血,所以无论如何我都要把这些文章数据找到。

但这个修复数据表的方案被我pass后我的情绪正在慢慢越陷入崩溃的边缘,毕竟谁都不希望自己苦心打理的东西突然因一场意外而啥也没有了。

越到这种情况我越慌张,不过我也意识到我自己好像没考虑到一个地方——我下载了我服务器上所有数据库数据的目录,忙活了20分钟后我才意识到这可能有用,即使没多少用。

我随便在网上搜了一下,发现frm和ibd文件是可以恢复数据表的。

frm是表结构文件,ibd是表数据文件。我想着反正我网站又不需要改太多数据表结构,那肯定,保持wordpress默认结构就可以了,没必要再建表处理frm文件,并且处理frm文件要比ibd文件麻烦的多。

所以我就连接了另外一个数据库,然后重新部署了一遍wordpress,简单配置了下网站后,先将原有的ibd文件给删了,再替换成现在的ibd文件,最后再把替换后的ibd文件加载一下就行了。

鄙人并不是专业研究MySQL的,所以刚开始操作的时候还是闹了点乌龙,笨手笨脚的处理了两遍后才勉强把我之前数据库里面的数据全部迁到我网站创建的新的数据库中。

重启一遍数据库后,奇迹发生——网站平安回归,恢复了正常访问,还是以前的那个样子,这真是酣畅淋漓的一集。

一些反思

纵观这次的一个小事故,其实完全可以避免的:

  • 之所以这次事情处理的这么费劲就是因为没有养成定期备份网站和数据库的习惯,如果我有这个习惯这次的事情也不至于处理的这么费劲
  • 没好好管理自己的服务器,不知道这个是干什么的那个是干什么的,不然没有这些不必要的问题
  • 自己平时也不好好看看这指令会不会对自己现有服务造成冲突

其实这件事情早在之前就有伏笔了:

看过别人的血泪教训却并没有重视,终究这股风刮到了我的头上。

(真的长记性了)