在Archlinux上启动mariaDB服务失败



这是我第一次使用mysql,我知道mariadb是mysql在archlinux上的正式实现。起初,我没有按照archwiki上的方法启动它,而是直接执行mysqld。在那之后,有人报告了一个错误,所以我去了archwiki寻找解决方案。我按照步骤执行了这个

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

之后,错误报告如下

× mariadb.service - MariaDB 10.5.10 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sat 2021-06-19 11:15:50 CST; 1min 4s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 1961 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 1962 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
Process: 1970 ExecStart=/usr/bin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
Main PID: 1970 (code=exited, status=1/FAILURE)
Status: "MariaDB server is down"
CPU: 70ms
6月 19 11:15:50 wilson mariadbd[1970]: 2021-06-19 11:15:50 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
6月 19 11:15:50 wilson mariadbd[1970]: 2021-06-19 11:15:50 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
6月 19 11:15:50 wilson mariadbd[1970]: 2021-06-19 11:15:50 0 [ERROR] Plugin 'InnoDB' init function returned error.
6月 19 11:15:50 wilson mariadbd[1970]: 2021-06-19 11:15:50 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
6月 19 11:15:50 wilson mariadbd[1970]: 2021-06-19 11:15:50 0 [ERROR] Could not open mysql.plugin table: "Table 'mysql.plugin' doesn't exist". Some plugins may be not loaded
6月 19 11:15:50 wilson mariadbd[1970]: 2021-06-19 11:15:50 0 [ERROR] Failed to initialize plugins.
6月 19 11:15:50 wilson mariadbd[1970]: 2021-06-19 11:15:50 0 [ERROR] Aborting
6月 19 11:15:50 wilson systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
6月 19 11:15:50 wilson systemd[1]: mariadb.service: Failed with result 'exit-code'.
6月 19 11:15:50 wilson systemd[1]: Failed to start MariaDB 10.5.10 database server.

然后我将当前用户添加到mysql用户组中。但问题依然存在。我该怎么办?有人能帮我个忙吗?

此消息是错误的一个很好的指示器:

The innodb_system data file 'ibdata1' must be writable

如果文件不可写,则会发生以下几件事之一:

  1. 您没有从root帐户启动服务
  2. 数据库的数据目录设置了错误的权限

对于第一项,请确保在命令前面加上sudo。MySQL/MariaDB(通常(不能从普通用户帐户启动。

第二,确认数据目录(通常/var/lib/MySQL为MySQL用户所有,文件权限受到适当限制(如果数据或日志目录为777755,MySQL将拒绝运行(。

最新更新