托管公司重启我的服务器后,无法登录 MySQL 服务器

托管公司重启我的服务器后,无法登录 MySQL 服务器

今天,我的托管公司决定修补因 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

天知道托管公司对我的系统做了什么改动,但现在我很高兴:-)

相关内容