【问题标题】:Failed to start MariaDB 10.3 database serverMariaDB 10.3 数据库服务器启动失败
【发布时间】:2021-09-21 13:55:37
【问题描述】:

无法启动 mariadb.service。启动 mariadb.service 时出现以下错误。

[root@localhost bggb]# systemctl start  mariadb.service
        Job for mariadb.service failed because the control process exited with error code.
        See "systemctl status mariadb.service" and "journalctl -xe" for details.

    

这里是 mariadb.service 的状态

[root@localhost bggb]# systemctl status mariadb.service
            ● mariadb.service - MariaDB 10.3 database server
               Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
               Active: failed (Result: exit-code) since Mon 2021-07-12 16:56:03 IST; 59s ago
                 Docs: man:mysqld(8)
                       https://mariadb.com/kb/en/library/systemd/
              Process: 6260 ExecStart=/usr/libexec/mysqld --basedir=/usr $MYSQLD_OPTS $_WSREP_NEW_CLUSTER (code=exited>
              Process: 6221 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCC>
              Process: 6196 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
             Main PID: 6260 (code=exited, status=1/FAILURE)
               Status: "MariaDB server is down"
            
            Jul 12 16:56:03 localhost.localdomain mysqld[6260]: 2021-07-12 16:56:03 0 [ERROR] Plugin 'Aria' init funct>
            Jul 12 16:56:03 localhost.localdomain mysqld[6260]: 2021-07-12 16:56:03 0 [ERROR] Plugin 'Aria' registrati>
            Jul 12 16:56:03 localhost.localdomain mysqld[6260]: 2021-07-12 16:56:03 0 [Note] Plugin 'FEEDBACK' is disa>
            Jul 12 16:56:03 localhost.localdomain mysqld[6260]: 2021-07-12 16:56:03 0 [ERROR] Could not open mysql.plu>
            Jul 12 16:56:03 localhost.localdomain mysqld[6260]: 2021-07-12 16:56:03 0 [ERROR] Unknown/unsupported stor>
            Jul 12 16:56:03 localhost.localdomain mysqld[6260]: 2021-07-12 16:56:03 0 [ERROR] Aborting
            Jul 12 16:56:03 localhost.localdomain mysqld[6260]: Warning: Memory not freed: 520
            Jul 12 16:56:03 localhost.localdomain systemd[1]: mariadb.service: Main process exited, code=exited, statu>
            Jul 12 16:56:03 localhost.localdomain systemd[1]: mariadb.service: Failed with result 'exit-code'.
            Jul 12 16:56:03 localhost.localdomain systemd[1]: Failed to start MariaDB 10.3 database server.

听到是 journalctl -xe 的输出,以获取更多信息。配置是第一次完成。

[root@localhost bggb]# journalctl -xe
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: == Stack trace for context 0x55df8c69>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #0   7ffd7797b5d0 b   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #1   7ffd7797b680 b   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #2   55df8cc77d30 i   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #3   7ffd7797c610 b   resource:///org>
Jul 12 17:45:52 localhost.localdomain gnome-shell[2874]: Object .Gjs_CapsLockWarning (0x55df8d192040), has>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #4   55df8cc77ca0 i   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #5   55df8cc77c20 i   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: == Stack trace for context 0x55df8c69>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #0   7ffd7797b5d0 b   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #1   7ffd7797b680 b   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #2   55df8cc77d30 i   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #3   7ffd7797c610 b   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #4   55df8cc77ca0 i   resource:///org>
Jul 12 17:45:52 localhost.localdomain org.gnome.Shell.desktop[2874]: #5   55df8cc77c20 i   resource:///org>
Jul 12 17:45:52 localhost.localdomain gnome-shell[2874]: Object .Gjs_CapsLockWarning (0x55df8d192040), has>
Jul 12 17:45:53 localhost.localdomain NetworkManager[1115]: <info>  [1626092153.0272] agent-manager: agent>
Jul 12 17:46:03 localhost.localdomain systemd[1]: fprintd.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
-- 
-- The unit fprintd.service has successfully entered the 'dead' state.

【问题讨论】:

  • 还有journalctl -xe 输出?
  • 您还应该检查行尾。有一个&gt; 字符表示该行被截断。也许使用键盘箭头键向右滚动。那里似乎有重要信息。
  • mysql没有aria表引擎,所以你的问题不适用于mysql,只适用于mariadb。
  • @yunzen 为 -xe 编辑
  • @Shadow 好的,但也安装了 mysql...

标签: mariadb rhel


【解决方案1】:

重命名日志文件并启动 MySQL 可能是解决此问题的一个选项。

mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bak 

mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bak

systemctl start mysql

【讨论】:

    【解决方案2】:

    看起来 MariaDB 数据目录不可写。检查它是否属于mysql 用户以及子目录:

     chown -R mysql: /var/lib/mysql
    

    如果您已将 datadir 移动到 /home 下的某个位置,除了更改上述权限(已更正路径)之外,请在 systemd 中禁用 ProtectHome 的保护:

    运行:systemctl edit mariadb.service 并在编辑器中包含以下内容,然后保存并退出:

     [Service]
     ProtectHome=false
    

    然后重启服务:

    systemctl restart mariadb.service
    

    如果你改变了默认的 /var/lib/mysql 的数据目录

    semanage fcontext -a -t mysqld_db_t "/mariadb/data(/.*)?"
    restorecon -Rv /var/lib/mysql
    

    如果您的 datadir 是一个新创建的文件系统,它也可能需要正确的 selinux 标签:

    restorecon -Rv /var/lib/mysql
    

    有关更多信息,请参阅 MariaDB selinux article Knowledge Base

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 1970-01-01
      • 2021-04-06
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 2013-03-02
      • 2017-03-21
      相关资源
      最近更新 更多