在使用MySQL导入外部数据文件(如csv,Excel,txt等)时,有时会报错:‘Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement’,这说明我们要加载的数据文件的存放路径和MySQL服务器默认的文件上载路径不一致。此时有两种解决办法:
方法一:把要加载的数据文件直接存放在MySQL默认的数据加载文件夹下再复制路径导入
Step 1: 查看MySQL的默认文件加载路径
在MySQL客户端中执行以下SQL语句,便能得到MySQL的默认文件加载路径:
show variables like '%secure%';
输出结果:
上面红色框内就是MySQL默认的文件加载路径。
Step 2: 把要导入到MySQL的数据文件(Excel,csv,txt等)复制到上一步得到的路径下,再按住shift键右击文件复制其路径:
Step 3: 得到文件路径后,再在MySQL中使用相关语句导入该文件:
load data infile "C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\table1.csv" # 注意:要把原文件路径中的"\"换成"\\"或"/"
into table table1
fields terminated by ','
ignore 1 lines;
导入成功:
方法二:在/etc/mysql/my.cnf配置文件中修改/添加数据文件的存储路径
secure_file_priv = 数据文件的存储路径
因我们日常工作中存储数据文件的路径很多时候并不固定,因此这里对该方法不做过多介绍。