【问题标题】:Ubuntu: changing mysql datadir issueUbuntu:更改 mysql datadir 问题
【发布时间】:2015-02-11 13:20:52
【问题描述】:

我需要更改我的数据目录,并且我已经成功地在主硬盘上这样做了。我 在另一个安装的 HDD 上尝试了相同的操作并重新启动 mysql 失败,我不明白为什么。这是我所做的操作:

  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. 编辑器:

    /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 的安装参数有问题,但我不知道 什么,有什么想法吗?

【问题讨论】:

  • 您在 apparmor.conf 中使用 /media/truecrypt4/mysql/,但 mysql 数据目录是 /media/user/BCB3A.../mysql .. 你看到区别了吗?
  • sorry,写错了,但是apparmor和mysql datadir真的是一样的。我编辑了帖子,让它显示出来。 @hek2mgl
  • mysql 错误日志说什么?
  • [错误] 无法打开 mysql.plugin 表。请运行 mysql_upgrade 来创建它然后是许多 InnoDB 消息,然后: InnoDB:文件操作中的操作系统错误号 13。该错误意味着mysqld没有对该目录的访问权限
  • ls -l 在新的 mysql 文件夹上显示 drxw----- 用户用户我试过: sudo chmod a+rwx mysql 但 ls -l 给出相同的结果我试过 sudo chown mysql:mysql /..../mysql 但 ls -l 给了相同的所有者(用户)@hek2mgl 非常感谢您花时间提供帮助:)

标签: mysql linux ubuntu


【解决方案1】:

答案其实很简单......

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

在我的例子中,这个命令并没有改变所有权,原因很简单,辅助硬盘驱动器的文件系统是 NTFS,并且权限/所有权不适用于 NTFS,因此格式化为 FAT32 解决了这个问题。 感谢@hek2mgl 的大力帮助!

【讨论】:

  • ntfs 允许我理解的posix权限。现在我将“mysql”设置为我的新 mysql 数据文件夹和所有容器的所有者和组,但我无法运行任何服务器。是ntfs的原因吗?
猜你喜欢
  • 2016-04-25
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
  • 2017-12-10
  • 1970-01-01
  • 2017-05-25
  • 2016-02-24
  • 2013-03-18
相关资源
最近更新 更多