今年九月初,恰是在学校摸爬滚打的时间,突然有一天朋友告诉我网站没了,我心想还有这等事?无非就是换了波服务器罢,实则不然,一上线发现连服务器供应商的网站都飞了。
回想起来上一次备份是在换服务器的那一阵子,离现在差不多半年了,最坏的情况便是这些日子写的东西全部打水漂。花了点时间接受这信息量巨大的事实,心里倒是没有多大波澜。
和朋友互相检查了下自己的账号,发现对方居然还可以登上服务器提供商的网站,忽然还是有点希望的。
又过了几天,官网回来了,自己也能登上去,不过主机那一栏却显示已停机,看了看公告,字里行间意思便是“我们服务器大规模停机,数据在抢救了,有没有救还得过一段时间才知道,祝你好运。”
这么离谱的事情我还是头一次见,而且还显得尤为无力,想这想那还不如忙生活去了。
后来想着这事就这么放着也不太行,总归还是得试试嘛,我向客服问了问他们有没有备份我网站的数据,一天之后收到回复说数据有备份。

ok听起来非常有盼头,然后我满怀期待等了一个多月,一点动静都没有,甚至消息都不回了,实际上他们压根没尝试过帮忙恢复。

毕竟数据才是最珍贵的,网站什么的再说吧,我问了问能不能直接把备份下来的包发我一份,他们发了两段链接来,其中一个是数据库另一个是网站本体和文件。注意在Wordpress当中文章是存放在数据库当中的,而媒体等文件放在目录下。
但是,为什么两个文件加起来体积才十几兆啊?我问了问,他们说数据库体积很小的,这个大小没问题。接着我进目录看了看,貌似他们拿错数据把别人网站的备份发给了我。

哭笑不得,向他们又要了一遍,这才发了对的备份过来。
知道内容都在手里,现在可以慢慢把网站建回来了对吧?结果就给我来了个重头戏:备份的数据库并不是sql文件,而是分开的ibd和frm文件,无法直接导入到新的服务器里面,也无法读取,一般来说sql用记事本打开是可以直接看到内容的,而上面两种文件则是乱码。
我又问了问客服,得到的答复是“有点麻烦,会尝试弄一弄。” 四舍五入就是成本太高太费时间弄不了呗。
一般来说,生活中遇到的很多问题都可以通过搜索引擎解决,想着这个应该也不例外,便尝试去搜了搜,如果说刚刚碰到的那些问题是自己知识的边界的话,下面看到的教程就完全处于知识的虚空中了。大概它讲的就是通过新建一个空包然后将里边的内容替换为需要恢复的内容再导出进行恢复。
试试又不会逝世,所以还是不抱希望地尝试了一下,第一步就卡在安装mysql上面了(BTW还是头一回体验连个软件都装的这么费力)不像很多其它软件是个单独的个体,mysql需要很多运行环境,其中就包括Visualstudio什么的连带着一大堆东西都需要安装,我还是止步于此了。
想着专业的事情让专业的来,第一时间想到的还是某宝数据恢复。一询问得知全部18个表的恢复要300R,多问几家店价格只高不低,那就只好认咯。
时间已经来到了十二月,距离网站下线已经过了三个月了,店家把恢复好的sql文件发了过来,这回是离重新上线最近的一次。
当然,一成不变的还是所有东西都得现学现用,毕竟数据库这玩意要不是这次灾难我还没怎么打交道过。
服务器下线后服务器提供商给整了个新的空服务器供使用,不同于先前的plesk和宝塔,这服务器跑的是cPanel。被迫重新摸索了一波,里面的导入sql功能没有办法读取恢复出来的文件,反而是之前自己备份的sql可以成功导入,只能另寻他法。

过了一会发现里边内嵌的数据库管理软件phpmyadmin是可以读sql的,我就先把数据库导了进去,然后下一步便是重建数据库连接。
与此同时我试了试单将目录放到服务器里然后让wordpress toolkit寻找网站,果不其然虽然网站是找到了,但是报错没有建立数据库连接。
总结下来其实还算蛮简单的,无非就是那几样东西来回转,比如弄了好几回的数据库链接,只不过刚开始的道路有些曲折,先后经历了页面403、404、后台无法访问的问题后,终于把所有门道都弄清楚了,简单来说便是网站的wp-config.php中数据库部分名称密码以及用户名等要与服务器存储的一致,然后先把目录内容放在根目录下的public_html文件夹下,接着在toolkit下新建wp页面,数据库名称密码和分配的管理员与刚刚在wp-config里写的一致,与服务器一致,接着让它创建就行了,理论上来说网站随即便可访问。
有个非常有意思的问题,我发现在网站恢复完成后后台显示无法进入,检查了一下发现之前店家恢复出来的数据包前缀是小写,而原数据包是大小写混合的,这导致表中的某些内容无法对应到当前的数据库上,其中一个影响便是用户权限不足,在修改内容为小写之后一切就恢复正常了。
403的问题纯属瞎整解决的,我先是创建了个空的站点,接着把403网站数据连带着数据库内容一起复制到了新的站点上,结果居然可以访问了,只不过当时是抱着随便试试的心态弄的,所以网站目录在好几个文件夹里面,域名也显示得不干净,就全部抹掉重来了。
站点恢复完成后,有个不致命但非常麻烦的问题出现了:cPanel的文件管理器不支持中文显示,也就是说先前添加媒体的文件名中有任何的中文都会变成乱码,而我先前是怎么给文章添加图片的呢?当然是用微信呀,所以图片的前缀都叫“微信图片xxxx”自然在网站上就无法显示了,你现在在网站上会看到很多无法加载的图片都出自这个原因。
尾巴
为了整这破事,我连续在电脑前从凌晨2点忙到了凌晨6点,时间说长不长说短不短,主要是完全没必要,如果当初有经常备份的习惯的话,也就不需要费这个钱出这个力了,亦或者服务器能提前告诉我它要挂了也行。
“愿天堂不会丢数据。”
评论
无中生友LMAO