轻松一刻

本站事故复盘

言七墨 · 12月1日 · 2019年 1034次已读

经过

  1. 2019年11月23日上午9点左右,在没有手动备份的前提下,升级了 MySql 数据库(从5.1到5.7)
  2. 半小时后,升级结束,网站无法登陆,显示“error establishing a database connection”
  3. 当时没多想,以为是升级后不兼容导致的,又切换到了5.1版本,网站还是报同样的错误
  4. 当时由于有别的更重要的事,故先放弃了折腾
  5. 下午14点左右,还未回家,尝试用手机登陆宝塔面板继续解决,搞了半天无果,故询问宝塔管理员,他让我在服务器上执行ps aux|grep mysql,可是手机端没有尝试过ssh登陆,故暂时放下了手机
  6. 下午17点左右赶回家,开始查看原因,最后发现 M言七墨ySql 压根没有安装成功,我又在原版本5.1和新版本5.7之间尝试切换了几次,都无法连接 phpmyadmin…
  7. 晚上20点左右,打算重装宝塔,先备份数据库,瞬间备份完成,当时心惊了一下,赶紧查看备份好的文件,才几十B,完了,数据全没了..
  8. 赶紧查看每周通过 shell 脚本备份的数据库压缩包,什么鬼,才几百B,解压,发现里面竟然言七墨只有一张用户表..
  9. 2年的站就这样被自己搞没了…

反思

  1. 在没有搞清楚 MySql 如何升级时,就胡乱升级,站搞没了,也是活该呀!
  2. 下面开始甩锅,强行安慰自己一波!
  3. 过度相信第三方面板的能力,之前使用 shell 脚本备份数据库时,没有检查过备份功能是否好用。
  4. 升级 MySql 是在宝塔面板(3.几版本的宝塔)上执行的,在我升级 MySql 前,竟然没有任何提示,对我这不懂的小白来说,也是相当的不友好。现在安装了新版的宝塔面板(5.9.1版本),MySql升级有了“提前备份数据库的红色提醒”..

修复过程

  1. 将网站文件下载到本地
  2. 重装服务器系统
  3. 安装最新版的宝塔面板
  4. 安装 wordpress
  5. 从网站文件的缓存中恢复部分老数据
  6. 恢复的过程中,才发现当时做的网站已经背离了自己的初衷
  7. 故抛弃了很多篇缓存过的文章
  8. 好好思考当时真正要做这个网站的初衷
  9. 重新做站..

改善措施

  1. 新站做好后,还https://qimok.cn是使用 shell言七墨 脚本备份数据库,先手动备份一次,发现这次是真正备份了数据库的全部数据,故启用了两个备份 shell 脚本,一个是备份到服务器,一个是备份到自己的七牛云上,每周备份一次,保留最新的三份。
  2. 备份网站文件到服务器,也是先手动七墨博客备份一次,发现备份的文件是没问题的,每周执行一次,保留最新的三份。
  3. 给服务器做了个镜像,以后准备每周手动制作一次,保留最新的两份。

以自己的初衷好好做站:学习沉淀 | 奋力前行

相关文章
暂无相关文章!
2 条回应
  1. 轩沫说2019-12-8 · 12:04

    宝塔论坛上也有一个人跟你的情况相似
    bt。cn/bbs/thread-41191-1-1.html

    • 言七墨2019-12-8 · 12:10

      这个帖子我看到过,其实,我这个是纯净的服务器,只是老版宝塔在升级 MySql 之前并未提示要备份,自己又没有升级 MySql 的经验,以为点击了更新就可以更新了(老版的操作面板还是不够友好),结果数据没了..