一个闷热的下午,网友发来求救信息,说服务器强制重启后宝塔面板和网站都打不开了,能够看到的提示只有:数据库连接失败:SQLSTATE[HY000] [2002] No such file or directory。如下图所示:
网友之前只备份了网站文件没备份数据库,很着急甚至说只要能把数据库备份下来,再去新开一台服务器也行。想了一下数据库应该没丢,问题出在无法连接上。去找了一圈也没有个靠谱的解决办法,最后还是上宝塔面板官方论坛找了一下,终于找到了官方对此问题的回复。
若非法关机导致数据库无法启动,一般是强制关机导致 MySQL 二进制日志损坏,可使用以下命令处理(建议关机或重启时最好先停止 mysqld 服务,否则有一定机率导致数据库损坏)。
打开 SSH 软件连接 VPS 服务器,清理二进制日志:
rm -f /www/server/data/ib_* rm -f /www/server/data/mysql-bin*
尝试启动 mysqld
service mysqld start
执行完上面两步,再试试宝塔面板已经可以正常打开了,到此一切正常。
不过老魏使用军哥 lnmp 每次都是直接重启 VPS(国内外主机都有),没有遇到过类似问题,看来在稳定性方面,面板还是不如 lnmp 一键包做的好,当然面板有它的方便快捷、可视化的特点,会越来越受到站长们的欢迎。