客户美国服务器内宝塔面板长期没有更新,apache、MySQL也是长期不更新,因CPU占满100%时导致MYSQL离线,通过宝塔重启MYSQL提示重启成功,但MYSQL还是显示离线,网站打不开。
通过SSH连接到服务器,使用命令: /etc/init.d/mysqld restart 重启数据库提示以下错误:
ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/wwwrver/data/XS16788177137.pid)
尝试升级apache、mysql和宝塔面板到最新版本也不能重启MYSQL数据库。
在SSH使用命令:cat /www/server/data/*.err|grep -i -C 10 error
查看MYSQL错误日志如下:
从错误日志看,问题有点大,提示数据库表空间损坏了,导致无法启动MYSQL数据库,问题无法解决,只能用数据库备份重新恢复。客户每天都有自动备份数据库在本机服务器和异地备份到FTP空间里,先将mysql备份下载到自已本地电脑里并记录数据库名称和密码,在卸载掉msyql重新安装,重新安装后创建和之前相同名称和密码的数据库帐户,导入备份即可恢复正常。
为什么会导致以上问题,可能和长期不升级MYSQL和宝塔面板有关,平时我们在使用服务器时要每隔2、3个月要进入宝塔面板,在软件商店和宝塔右上角看看有没有提示需要更新的,有更新的都要更新下,另外在宝塔面板左侧监控里要保持CPU和内存有余度,平均不要达到80%以上,以免突然出现网站同时访问量大时,CPU或内存达到100%时会导致apache或mysql离线。