无法将CSV远程加载到MySQL

时间:2018-10-23 20:12:04

标签: mysql sql csv local globals

因此,我正在远程访问MySQL服务器,并且在阳光下尝试了所有操作,以便调用以下命令:

LOAD DATA INFILE 'C:\Users\user1\Desktop\csv\mycsv.csv' 
INTO TABLE mytable
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'
IGNORE 1 ROWS

但是我遇到以下错误:

Error Code: 1290. The MySQL server is running with the --secure-file-priv 
option so it cannot execute this statement

然后我尝试修改该语句并像这样添加LOCAL:

LOAD DATA LOCAL INFILE 'C:\Users\user1\Desktop\csv\mycsv.csv' 
INTO TABLE mytable
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'
IGNORE 1 ROWS

并收到以下错误

Error Code: 1148. The used command is not allowed with this MySQL version

我运行了以下2条命令来检查与这两个错误有关的全局变量,并返回以下信息:

SHOW VARIABLES LIKE "secure_file_priv";
Returns NULL

还有

SHOW GLOBAL VARIABLES LIKE 'local_infile'; 
Returns ON

我与系统管理员联系以更改my.ini。我将本地secure_file_priv设置为PC上没有运气的目录。我无法访问服务器所在的PC,因此无法将文件移动到任何本地目录,只能将文件移动到远程目录。

我没有提到How should I tackle --secure-file-priv in MySQL?How to import CSV file to MySQL table下的所有解决方案。

如果您还有其他想法,请告诉我。谢谢

1 个答案:

答案 0 :(得分:0)

secure_file_priv在启动时设置,无法动态更改。在my.ini文件中添加以下内容,然后重新启动mySQL。

secure-file-priv="C:\Users\user1\Desktop\csv\"