【发布时间】:2020-09-05 20:22:44
【问题描述】:
我需要将csv文件导入mysql: 首先我尝试了:
LOAD DATA LOCAL INFILE 'C:/Users/MJ/Desktop/nysgi1.csv' INTO TABLE gift FIELDS TERMINATED BY ',' (giftid,date,udate,vamount);
错误:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
然后我按照一些说明成功地将local_infile设置为ON,然后我使用service mysql restart重新启动了mysql。但是它不起作用,仍然是同样的错误。
然后我尝试直接使用:
LOAD DATA INFILE 'C:/Users/MJ/Desktop/nysgi1.csv' INTO TABLE gift FIELDS TERMINATED BY ',' (giftid,date,udate,vamount);
错误:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
所以我使用:
SELECT @@global.secure_file_priv;
发现目录是:
/var/lib/mysql-files/
我的问题是如何使用命令行将 csv 文件导入 /var/lib/mysql-files/。
谢谢!
【问题讨论】:
-
导入的文件必须放在
@@secure_file_priv目录中。如果你使用 LOCAL,那么 MySQL 必须可以访问该路径,并严格指定路径。 IE。在 MySQL 帐户下的服务器控制台上键入cd C:/Users/MJ/Desktop时,您必须成功访问此目录。共享此文件夹,挂载到 SQL 服务器上,然后在文件名中使用挂载路径。