首页 > 解决方案 > 无法将 CSV 远程加载到 MySQL

问题描述

因此,我正在远程访问 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,因此我无法将文件移动到任何本地目录,只能远程访问。

我在如何处理 MySQL 中的 --secure-file-priv 下提到了每个解决方案?以及如何不走运地将 CSV 文件导入 MySQL 表

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

标签: mysqlsqlcsvlocalglobals

解决方案


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

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

推荐阅读