将数据目录更改为其他驱动器后,Ubuntu 20.04 重新启动后 MariaDB 10.3 无法启动

将数据目录更改为其他驱动器后,Ubuntu 20.04 重新启动后 MariaDB 10.3 无法启动

我遇到了一个不寻常的问题。我尝试更改 MariaDB 安装的数据目录,但重新启动计算机后不起作用:

  1. 我通过 rsync 命令将条目从 复制到/var/lib/mysql/,并将新目录的所有者设置为。/mnt/Data/mysqlmysql:mysqlchown -R ...
  2. datadir=/mnt/Data/mysql我在/etc/mysql/mariadb.conf.d/50-server.cnf文件中设置了条目
  3. /etc/apparmor.d/tunables/alias我通过在文件中添加一行来编辑文件alias /var/lib/mysql/ -> /mnt/Data/mysql/,
  4. 重新启动两个服务-systemctl restart apparmor到目前为止systemctl restart mariadb一切顺利。

但是当我重新启动机器时,MariaDB 没有加载systemctl status mariadb

● mariadb.service - MariaDB 10.3.25 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2020-12-31 15:50:03 EST; 39min ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 559 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 598 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 625 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 || >
    Process: 695 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
   Main PID: 695 (code=exited, status=1/FAILURE)
     Status: "MariaDB server is down"

Dec 31 15:50:02 Server systemd[1]: Starting MariaDB 10.3.25 database server...
Dec 31 15:50:03 Server mysqld[695]: 2020-12-31 15:50:03 0 [Note] /usr/sbin/mysqld (mysqld 10.3.25-MariaDB-0ubuntu0.20.04.1) starting as process 695 ...
Dec 31 15:50:03 Server mysqld[695]: 2020-12-31 15:50:03 0 [Warning] Can't create test file /mnt/Data/mysql/Ubuntu.lower-test
Dec 31 15:50:03 Server mysqld[695]: [100B blob data]
Dec 31 15:50:03 Server mysqld[695]: 2020-12-31 15:50:03 0 [ERROR] Aborting
Dec 31 15:50:03 Server systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Dec 31 15:50:03 Server systemd[1]: mariadb.service: Failed with result 'exit-code'.
Dec 31 15:50:03 Server systemd[1]: Failed to start MariaDB 10.3.25 database server.

但是手动命令sudo systemctl start mariadb有效 - 直到下次重启。我遗漏了什么吗?

  • 我检查/etc/fstab在系统启动时要安装的硬盘。
  • 我反复检查了系统日志,除了无法创建测试文件外,没有报告任何内容
  • 我检查了/var/log/mysql/error.log,没有报告任何错误或警告

答案1

不知何故,在发布这个问题后,我找到了自己的答案。

事实证明,这是/etc/fstab安装驱动器方面的文件。

以前,我使用 Gnome Disks 实用程序安装了驱动器,但他们对文件的修改/etc/fstab不允许 MariaDB 连接到硬盘驱动器。

手动直接编辑该关键文件即可解决该问题。

以下是一个例子fstab 应该编辑用于保存数据库的驱动器:

...
/dev/sdb1    /mnt/Data   ext4    defaults    0    0
...

就这样吧。

谢谢。

相关内容