我安装MySQL的分区上的空间不足,所以我尝试将最大的数据库移动到新分区,并在数据目录中对此进行符号链接。当我尝试使用此数据库时,我收到以下错误
mysql> use fb20;
Database changed
mysql> show tables;
ERROR 1018 (HY000): Can't read dir of './fb20/' (errno: 13)
我已检查过符号链接是否已启用:
mysql> show variables like 'have_symlink';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_symlink | YES |
+---------------+-------+
所有权限看起来都是正确的。 MySQL数据目录为/data
:
root> ll /data/
drwxr-x--- 243 mysql mysql 8192 Feb 21 08:02 mysql/
root> ll /data/mysql/ | grep fb20
lrwxrwxrwx 1 mysql mysql 19 Feb 21 08:02 fb20 -> /sandata/mysql/fb20/
,新目录为/sandata
:
root> ll /sandata/
drwxr-x--- 3 mysql mysql 60 Feb 20 20:32 mysql/
root> ll /sandata/mysql/
total 360
drwxr-x--- 3 mysql mysql 60 Feb 20 20:32 ./
drwxrwxr-x 35 root perma 4096 Feb 20 19:59 ../
drwx------ 2 mysql mysql 303104 Feb 15 12:20 fb20/
不确定我做错了什么。
答案 0 :(得分:1)
根据评论,我将以下行添加到文件/etc/apparmor.d/usr.sbin.mysqld
/sandata/mysql/ r,
/sandata/mysql/** rwk,
然后重新加载配置文件(重新启动apparmor不起作用):
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld