1、load data infile into table table_name ;
执行命令的用户有权限访问的文件,然后load到DB中,并且需要file权限。
2、load data local infile into table table_name ;
只要是客户端用户有权限访问的文件,都可以上传到服务端,然后load到DB中,这样是特别危险的, 用local_infile=0 禁用,编译时用--enable-local-infile -DENABLED_LOCAL_INFILE=1 。
注意:此时的 load data 不需要 file 权限!!
3、select * from t into outfile 'filename' ;
先看运行 mysqld 的用户有没有对存放文件的目录有写权限,再看执行命令的用户有没有 file 权限.