今天,我的托管公司决定修补因 Meltdown/Spectre 而导致的系统并重新启动所有服务器。
我的 CentOS 7.2 服务器已经运行了 280 天,没有出现任何问题。
但是现在我无法再使用我的网站了,它显示“建立数据库连接时出错”。当我尝试使用我通常的凭据(我根本没有更改过)登录 phpMyAdmin 时,它显示“无法登录 MySQL 服务器”,并且没有显示通常显示的错误编号 #1045。
我/var/log/mariadb/mariadb.log
发现了以下内容:
170329 18:41:40 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.44-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server
180108 14:25:52 [Note] /usr/libexec/mysqld: Normal shutdown
180108 14:25:54 [Note] Event Scheduler: Purging the queue. 0 events
180108 14:26:16 InnoDB: Starting shutdown...
180108 14:26:42 InnoDB: Shutdown completed; log sequence number 233621773
180108 14:26:44 [Note] /usr/libexec/mysqld: Shutdown complete
您会看到最后一次活动是在 2017 年 3 月 29 日,其间一切运行顺利,今天 InnoDB 和 MySQL 已正常关闭。但没有尝试启动的迹象。
当我输入“ systemctl start mariadb
”时,它会产生一个错误,我通过“ systemctl status mariadb
”对其进行了分析:
Process: 3738 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
Process: 3737 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=1/FAILURE)
我对所发生的事情感到非常困惑,希望您能对这个问题作出一些解释。
答案1
我最终自己找到了解决办法。
程序:
tail -f /var/log/messages
给了我最后的错误列表,其中有:
Jan 10 18:44:48 v22015093023528042 mariadb-prepare-db-dir: The log file /var/log/mariadb/mariadb.log cannot be written, please, fix its permissions.
然后我做了:
chown mysql:mysql /var/log/mariadb/mariadb.log
之后我做了:
service mariadb start
运行顺利,现在service mariadb status
显示:
mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Mi 2018-01-10 18:51:54 UTC; 5min ago
天知道托管公司对我的系统做了什么改动,但现在我很高兴:-)