安装后 MariaDB 服务立即失败 - CentOS 7

MariaDB service fails immediately after installation - CentOS7

MariaDB 服务在安装后无法启动,全新的 CentOS7 安装还没有 Apache 或 PHP。虽然它安装了 Webmin 面板,但仅此而已。

我收到的错误信息如下:

Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

我看到了实际的错误,对我来说没有意义。去了 serverfault 和许多其他网站,但没有运气。之后尝试使用带有 "sudo" 前缀的 root 用户安装 MariaDB,它成功了。

顺便说一句,我正在按照 URL 的流程进行操作:https://mariadb.com/kb/en/mariadb/yum/

我试图恢复我的数据库并遇到了类似的问题,通过删除日志文件解决了这个问题: /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile1

也许你应该试试:

mv /var/lib/mysql/ib_logfile0 ~/
mv /var/lib/mysql/ib_logfile1 ~/
service mysql start

如果有效删除日志文件:

rm ~/ib_logfile0 ~/ib_logfile1

一个解决方案可能是 运行 安装 MariaDB 后给定的一系列命令,

  mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/

  mysql_secure_installation

  systemctl start mariadb

我的问题是权限问题 -

我在 /var/log/mariadb/mariadb.log

中找到了这个

[ERROR] mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 13)

[ERROR] Can't start server: can't create PID file: Permission denied

所以我将 /var/run/mariadb 的所有者从 root 更改为 mysql

之后启动正常。

如果您使用的是 InnoDB,则在擦除所有数据或重新安装整个东西之前还有一次机会。

您可以尝试通过简单地添加以下内容来强制恢复:innodb_force_recovery = 1 到您的 /etc/my.cnf

服务再次启动后,您可以修复损坏的数据并将 innodb_force_recovery 设置回 0 或将其删除。

我有 /var/lib/mysql/mysql-bin.index 文件的所有者作为 root。将所有者和组更改为 mysql 并且有效。不知道它是如何改变的。更新软件包并重启系统后问题开始。