mysql导入导出数据报错The MySQL server is running with the --secure-f

时间:2022-04-06 07:38:39

报错原因:直接能看出来是需要配置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的对应配置文件

  比如我的在服务器上就是这个位置            mysql导入导出数据报错The MySQL server is running with the --secure-fmysql导入导出数据报错The MySQL server is running with the --secure-fmysql导入导出数据报错The MySQL server is running with the --secure-f mysql导入导出数据报错The MySQL server is running with the --secure-f
    然后在根据这个目录,查看配置文件在哪里了(路径后面加上 --verbose --help|grep -A 1 ‘Default options‘),就会出现以下信息。     mysql导入导出数据报错The MySQL server is running with the --secure-f mysql导入导出数据报错The MySQL server is running with the --secure-f
    这个信息的意思是:    服务器首先读取的是/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‘