首页 > 解决方案 > debian9下如何更改MySQL datadir

问题描述

所以我在我的专用 debian 9 服务器上安装了 MySQL 8.0。由于服务器的系统卷只有 20G,我想将数据目录更改为包含数据的第二个卷。Mysql 在这个阶段运行正常。

我的第二卷是“/mnt/web”下的mounter(Ext4,就像系统卷一样)

我创建了一个目录“/mnt/web/databases/mysql”,mysql用户对它有RWX权限。

这是我做的步骤:

它不会正确重启,我有这些错误:

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2018-11-06 15:32:11 UTC; 2min 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 616 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 518 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 616 (code=exited, status=1/FAILURE)
   Status: "SERVER_BOOTING"
    Error: 13 (Permission denied)

Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.541193Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 616
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563003Z 0 [Warning] [MY-010091] [Server] Can't create test file /mnt/web/databases/mysql/ov-b6e882.lower-test
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563036Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /mnt/web/databases/mysql/ is case insensitive
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563860Z 0 [ERROR] [MY-010172] [Server] failed to set datadir to /mnt/web/databases/mysql/
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563902Z 0 [ERROR] [MY-010119] [Server] Aborting
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.570248Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.13)  MySQL Community Server - GPL.
Nov 06 15:32:11 ov-b6e882 systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Nov 06 15:32:11 ov-b6e882 systemd[1]: Failed to start MySQL Community Server.
Nov 06 15:32:11 ov-b6e882 systemd[1]: mysql.service: Unit entered failed state.
Nov 06 15:32:11 ov-b6e882 systemd[1]: mysql.service: Failed with result 'exit-code'.

我已经在论坛上进行了很多研究,也尝试了 mariadb,从头重新启动了 2 次,仍然到了这一点。Apparmor 没有 mysql 配置文件并且似乎没有安装,无论如何我在 grub 中禁用了它以确保,我真的不知道问题出在哪里。

我还尝试设置从旧目录到新目录的符号链接,似乎没有用。

我错过了什么或做错了什么吗?我真的迷路了,这些天这似乎是一个难以解决的常见问题......

标签: mysqldebian

解决方案


推荐阅读