小编典典

在MySQL中创建/写入权限

sql

我的SELECT ... INTO OUTFILE陈述书遇到一些权限问题。

当我登录数据库并执行简单的导出命令时,例如:

mysql> select * from XYZ into outfile '/home/mropa/Photos/Desktop/TEST.txt';

我得到回应:

ERROR 1 (HY000): 
Can't create/write to file '/home/mropa/Photos/Desktop/TEST.txt' 
(Errcode: 13)

但是,当我简单地写:

mysql> select * from XYZ into outfile 'TEST.txt';
Query OK, 8287 rows affected (0.73 sec)

该文件被写入目录/var/lib/mysql/XYZ。我查看了/etc/apparmor.d/usr.sbin.mysqldmysql似乎定义读取和写入权限的文件,但我真的不知道如何修改它。

如何授予自己将mysql表导出到我喜欢的任何目录的权限?


阅读 125

收藏
2021-03-23

共1个答案

小编典典

问题是目录权限。mysqld不以current_user身份运行。将mysqld用户添加到对目标目录具有写权限的组(方便但不安全),或记住在写入输出文件之前和之后更改目标目录的权限。

2021-03-23