报错原因:直接能看出来是需要配置ecure-file-priv参数。
2019-12-13
1.参数值对应限制。
mysql>SHOW VARIABLES LIKE "secure_file_priv";
secure_file_prive=null -- 限制mysqld 不允许导入导出
secure_file_priv=/tmp/ -- 限制mysqld的导入导出只能发生在/tmp/目录下
secure_file_priv=‘ ‘ -- mysqld 允许导入导出
2.更改secure_file_pri的值
2.1找到自己mysql的对应配置文件
比如我的在服务器上就是这个位置然后在根据这个目录,查看配置文件在哪里了(路径后面加上 --verbose --help|grep -A 1 ‘Default options‘),就会出现以下信息。
这个信息的意思是: 服务器首先读取的是/etc/my.cnf文件,如果前一个文件不存在则继续读/etc/mysql/my.cnf文件,如果还不存在依次向后查找。 找到配置文件以后就可以根据需要修改配置文件。
2.2修改
在/etc/my.cnf里面添加,重启mysql服务器即可。secure_file_priv=‘‘
3.导入导出数据
-- sql导入csv文件load data local infile ‘/Users/jojo/dumps/train.csv‘ --文件目录
into table new_table -- 这里导入csv会出错,具体解决方法见"问题解决"
fields terminated by‘,‘optionally enclosed by ‘"‘ escaped by ‘"‘
-- 字段之间以逗号分隔,字符串以半角双引号包围,字符串本身的双引号用两个双引号表示
lines terminated by‘rn‘ -- 数据行之间以rn分隔 eg: select * from table_name
into outfile ‘mntdisk1/mysql/xx.csv‘
FIELDS TERMINATED BY ‘,‘
OPTIONALLY ENCLOSED BY ‘"‘
LINES TERMINATED BY ‘/n‘