You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora 36启用systemctl服务后无法运行mysqld的问题

MariaDB mysqld启动失败问题解决

问题现象

无法运行mysqld,socket连接正常,但配置文件创建存在问题。不同用户执行mysqld时报错如下:

普通用户执行报错

joy@fedora /]$ mysqld
2022-11-12 12:38:24 0 [Note] mysqld (mysqld 10.5.16-MariaDB) starting as process 4650 ...

2022-11-12 12:38:24 0 [Warning] Can't create test file /var/lib/mysql/fedora.lower-test

mysqld: Can't create file '/var/log/mariadb/mariadb.log' (errno: 13 "Permission denied")

2022-11-12 12:38:24 0 [ERROR] mysqld: File '/var/lib/mysql/aria_log_control' not found (Errcode: 13 "Permission denied")

2022-11-12 12:38:24 0 [ERROR] mysqld: Got error 'Can't open file' when trying to use aria control file '/var/lib/mysql/aria_log_control'

2022-11-12 12:38:24 0 [ERROR] Plugin 'Aria' init function returned error.

2022-11-12 12:38:24 0 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.

2022-11-12 12:38:24 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable

2022-11-12 12:38:24 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable

2022-11-12 12:38:24 0 [ERROR] Plugin 'InnoDB' init function returned error.

2022-11-12 12:38:24 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2022-11-12 12:38:24 0 [Note] Plugin 'FEEDBACK' is disabled.

2022-11-12 12:38:24 0 [ERROR] Could not open mysql.plugin table: "Table 'mysql.plugin' doesn't exist". Some plugins may be not loaded

2022-11-12 12:38:24 0 [ERROR] Failed to initialize plugins.

2022-11-12 12:38:24 0 [ERROR] Aborting

超级用户执行报错

[joy@fedora /]$ sudo mysqld

2022-11-12 12:41:13 0 [Note] mysqld (mysqld 10.5.16-MariaDB) starting as process 4679 ...

mysqld: Please consult the Knowledge Base to find out how to run mysqld as root!

2022-11-12 12:41:13 0 [ERROR] Aborting

解决步骤

  1. 使用系统服务管理启动MariaDB
    不要直接用普通用户或root运行mysqld,Linux发行版中MariaDB默认通过系统服务运行,自动切换到专用的mysql用户:

    sudo systemctl start mariadb
    
  2. 修复权限问题
    报错核心是普通用户无权限访问MariaDB的数据目录和日志目录,执行以下命令修正权限:

    sudo chown -R mysql:mysql /var/lib/mysql
    sudo chown -R mysql:mysql /var/log/mariadb
    sudo chmod 750 /var/lib/mysql
    sudo chmod 750 /var/log/mariadb
    
  3. 初始化数据库(首次安装时需要)
    如果是新安装未初始化数据库,执行初始化命令:

    sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql
    
  4. 设置开机自启(可选)
    让MariaDB随系统启动:

    sudo systemctl enable mariadb
    

说明

MariaDB禁止root直接运行mysqld是出于安全考虑,专用的mysql用户拥有最小必要权限,避免权限过大带来的风险。

内容的提问来源于stack exchange,提问作者softwareplay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 10:50:38