MySQL outfile 命令所需权限
MySQL outfile 所需权限
整个命令需要三个权限:
-
linux 文件系统的权限
-
sudo vim /etc/apparmor.d/usr.sbin.mysqld
任务:从MySQL导数据导出数据到本地——select * into outfile '/home/spark/data.csv' fields terminated by ',' lines terminated by '\n' from mytable;
错误信息:ERROR 1 (HY000): Can't create/write to file '/home/spark/data.csv' (Errcode: 2 - No such file or directory)
错误原因:由于Ubuntu版本的原因,有些版本在默认情况下是强制限制MySQL导出文件到除了MySQL的数据库文件(datadir)之外的 -
--secure-file-priv(5.6 版本以上)
# 查询 SELECT @@global.secure_file_priv # 设置 /etc/mysql/my.cnf
可以在写入的时候不指定绝对路径,这样文件写入/etc/my.cnf中设置的datadir目录。默认目录为/var/lib/mysql/下面。然后mv写入的文件到指定目录下即可。