Manjaro系统启动MariaDB失败提示缺失mysql系统表的解决方法求助
问题确认
你遇到的MariaDB启动失败确实是mysql.db等核心系统表缺失直接导致的。从日志可见,进程加载完InnoDB引擎后,读取系统权限表时发现mysql.plugin、mysql.servers、mysql.db依次不存在,最终触发致命错误主动中止。
这类问题在Arch系发行版中非常常见:pacman安装MariaDB时默认不会自动执行数据目录初始化操作,/var/lib/mysql路径下没有生成运行必需的系统库、系统表,因此首次启动直接失败。
修复步骤
- 先停止异常的MariaDB服务:
systemctl stop mariadb
- 备份原有数据目录(避免丢失已有数据,新装无数据也建议执行):
mv /var/lib/mysql /var/lib/mysql.bak
- 执行MariaDB初始化命令,自动生成所有必需的系统表:
mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
- 修正数据目录的所属权限,保证MariaDB进程可读写:
chown -R mysql:mysql /var/lib/mysql
- 重新启动MariaDB服务:
systemctl start mariadb
- 验证服务运行状态:
systemctl status mariadb
返回active(running)即为修复成功,之后即可正常启动使用phpMyAdmin。
若原有
/var/lib/mysql目录下存在业务数据,初始化完成后可将/var/lib/mysql.bak中的业务库文件夹复制到新的/var/lib/mysql路径下,再次修正权限后重启服务即可恢复原有数据。
内容的提问来源于stack exchange,提问作者Vincent
相关产品推荐
相关产品推荐

