報錯原因:直接能看出來是需要配置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
fields terminated by','optionally enclosed by '"' escaped by '"'
-- 字段之間以逗號分隔,字符串以半角雙引號包圍,字符串本身的雙引號用兩個雙引號表示
lines terminated by'\r\n' -- 數據行之間以\r\n分隔
load data local infile '/Users/jojo/dumps/train.csv' --文件目錄
into table new_table
fields terminated by','optionally enclosed by '"' escaped by '"'
-- 字段之間以逗號分隔,字符串以半角雙引號包圍,字符串本身的雙引號用兩個雙引號表示
lines terminated by'\r\n' -- 數據行之間以\r\n分隔
eg:
select * from table_name
into outfile '/mnt/disk1/mysql/xx.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '/n'
into outfile '/mnt/disk1/mysql/xx.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '/n'
本文從其他博客借鑒,如侵權,請聯系!敬上。