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 ' ' 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写入的文件到指定目录下即可。

原文地址:https://www.cnblogs.com/shiwai/p/14225414.html