如何在debian9下更改MySQL datadir

时间:2018-11-06 15:43:41

标签: mysql debian

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

我的第二个卷是“ / mnt / web”下的安装程序(Ext4,就像系统卷一样)

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

这是我执行的步骤:

  • 停止mysql
  • 更改配置文件中的datadir
  • 创建新目录,使用ACL将RWX权限授予mysql(用户+ grp)
  • 将旧目录内容复制到新目录内容
  • 备份旧目录内容
  • 重新启动mysql

它无法正确重启,并且我有这些错误:

● 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中禁用了它以确保我真的不知道问题出在哪里。

我也试图建立从旧目录到新目录的符号链接,似乎没有用。

我错过了什么还是做错了什么?我真的在这里迷路了,这些天来似乎很难解决常见问题...

0 个答案:

没有答案