Mysql转移目录报错MySQL:Can’t create test file
Ubuntu系统 MySQL,转移数据转移数据存放路径到数据盘
先停止MySQL,转移数据
service mysql stop #注:"mysql"是服务名称,不同的配置可能服务名不一样
mv /var/lib/mysql /mdata
ln -s /mdata/mysql /var/lib
service mysql start
启动mysql发现报错,最终才找到原因如下:
在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限
var/lib/mysql/ r,
/var/lib/mysql/** rwk,
你一定看到了,/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限
我想把数据文件移动到/mdata/mysql下,那么为了使mysqld可以使用/mdata/mysql这个目录,照上面那两条,增加下面这两条就可以了
/mdata/mysql/ r,
/mdata/mysql/** rwk,
设置后重启一下apparmor服务或者重启一下服务器即可
service apparmor restart