MySQL启动报错:[Warning] Can't create test file /var/local/mysql/XXXX.lower-test的解决方案

修改了一下my.cnf中的datadir的值,改了一下mysql的数据文件目录

然后无法启动了,报文件无法创建,首先想到的是没有权限,然后设置权限,给了所有权限,但是问题依旧没有得到解决

MySQL死活无法启动

解决办法:

在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限

/var/lib/mysql/ r,

/var/lib/mysql/** rwk,

你一定看到了,/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限

我想把数据文件移动到/data/mysql下,那么为了使mysqld可以使用/data/mysql这个目录,照上面那两条,增加下面这两条就可以了

/data/mysql/ r,

/data/mysql/** rwk,

重启: sudo service apparmor restart

 

参考:https://www.cnblogs.com/ajianbeyourself/p/4158874.html