2015-02-11 73 views
2

我需要更改我的datadir,并且我已成功在主硬盘上执行此操作。我 尝试在另一个装载的硬盘上相同的操作,并重新启动mysql 失败,我不明白为什么。下面是我所做的操作:Ubuntu:更改mysql datadir问题

  1. 编辑my.cnf中:

    datadir   = /var/lib/mysql -> datadir = /media/user/BCB3A.../mysql 
    
  2. 复制MySQL数据到新文件夹:

    sudo -s 
    /etc/init.d/mysql stop 
    cp -pr /var/lib/mysql/* /media/user/BCB3A.../mysql 
    
  3. 编辑的AppArmor:

    /var/lib/mysql/ r,    -> /media/user/BCB3A.../mysql/ r, 
    /var/lib/mysql/** rwk,  -> /media/user/BCB3A/mysql/** rwk, 
    
  4. 重新启动服务:

    sudo /etc/init.d/apparmor restart 
    sudo /etc/init.d/mysql start 
    

AppArmor的重新启动正常,但MySQL的失败。

看起来像我在HDD2的安装参数有问题,但我不知道 什么,有什么想法?

+0

您在apparmor.conf中使用'/ media/truecrypt4/mysql /',但mysql数据目录是'/ media/user/BCB3A .../mysql' ..您是否看到区别? – hek2mgl 2015-02-11 13:27:45

+0

对不起,编写时出错,但apparmor和mysql datadir真的是一样的。我编辑帖子,以便它显示它。 @ hek2mgl – 2015-02-11 13:29:26

+0

什么说mysql错误日志? – hek2mgl 2015-02-11 13:31:09

回答

2

其实答案很简单....

mysql文件夹需要由mysql:mysql拥有。 sudo chown mysql:mysql/your_new_mysql_dir/

在我的情况下,这个命令并没有改变所有权,原因是次要硬盘驱动器的文件系统是NTFS,而且权限/所有权不适用于NTFS,所以一个格式化成FAT32就解决了这个问题。 感谢@ hek2mgl的帮助!