有没有关于在双启动的 Linux 操作系统上,在位锁 W10 驱动器上使用 mysql 安装在位锁下的 W10 驱动器上的线索?

有没有关于在双启动的 Linux 操作系统上,在位锁 W10 驱动器上使用 mysql 安装在位锁下的 W10 驱动器上的线索?

启动到 Linux Mint 20,我刚刚在这台机器上安装了 LAMP 堆栈,接受所有默认选择。但我已经将所有数据库存储在 Windows 10 位锁定分区上(现已解锁并可在 Linux 中访问)。

关于在 Linux 中移动 mysql 数据文件位置的问题,我发现这个答案...这看起来合乎逻辑(注意 Edenshaw 的评论:“我在您的位置找不到文件 my.cnf,而是在这里:/etc/mysql/mysql.conf.d/mysqld.cnf”)。

我的 mysql 安装在我的位锁定 Windows 驱动器上,位于 /media/bitlockermount-d/dbases/mariadb_data 下:在此下您可以找到 ibdata1、ib_logfile[n] 等。是的,它是 MariaDB 安装。

按照链接答案的说明进行操作后,我得到了

root@M17A:/var/lib/mysql# service mysql start
Job for mysql.service failed because the control process exited with error code.

进而

root@M17A:/var/lib/mysql# systemctl status mysql.service
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2022-01-02 13:23:39 GMT; 1min 19s ago
    Process: 335723 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Process: 335731 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
   Main PID: 335731 (code=exited, status=1/FAILURE)
     Status: "Server startup in progress"
      Error: 13 (Permission denied) ********** AHA... **********

这是合乎逻辑的,因为我发现 /media/bitlockermount-d/dbases/mariadb_data 下的文件所有权没有改变:它仍然是 root:root,而它应该通过以下命令更改为 mysql:mysql:

root@M17A:/var/lib/mysql# chown --reference=/var/lib/mysql /media/bitlockermount-d/dbases/mariadb_data
root@M17A:/var/lib/mysql# chmod --reference=/var/lib/mysql /media/bitlockermount-d/dbases/mariadb_data

...这无疑是事情失败的至少原因之一。然而,这有点令人费解,因为全部...dbases/mariadb_data 下的文件是 777(或者说是)。那么为什么 mysql 不能对这些文件做它想做的事情呢?是否可能明确检查所有权作为其启动过程的一部分?

我试图找到位锁解锁分区的格式。我无法做到这一点,但假设它是 ntfs 或类似的非 Linux 类型,从而解释了无法更改所有权的原因。

那么问题来了:有什么办法可以解决这个问题吗?例如,有什么方法可以告诉 mysql 以某种方式“以 root 身份运行”或“忽略所有权问题”?

相关内容