在sql中导入CSV文件时出现安全文件专用错误

时间:2019-01-23 18:16:56

标签: mysql sql mysql-workbench load-data-infile mysqlimport

我正在尝试在sql中导入csv文件,请找到以下代码:

LOAD DATA INFILE'C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ Uploads \ Assignment \ Auto.csv'INTO TABLE分配。Auto 以','结尾的字段 '\ r \ n'终止的行 忽略1行;

它给了我错误:

错误代码:1290。MySQL服务器正在使用--secure-file-priv选项运行,因此它无法执行此语句0.016秒

然后我尝试使用关键字LOCAL(如某些解决方案中所述),但它给了我错误:

错误代码:1148。此MySQL版本0.000 sec不允许使用命令

由于我找到了许多解决方案,因此我在会话中使用以下命令手动检查了该变量的值:

类似于“ secure_file_priv”的显示变量;

此输出为:

secure_file_priv C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ Uploads \

**这是我在上面的加载数据路径中使用的相同位置。

我检查了C:\ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini文件,它具有以下详细信息:

保护文件私密。

secure-file-priv =“ C:/ ProgramData / MySQL / MySQL Server 8.0 / Uploads” 有人可以告诉我这里的问题是什么,我该如何解决。

2 个答案:

答案 0 :(得分:0)

如果要使用LOAD DATA LOCAL INFILE …,则需要将MySQL Server全局变量local_infile设置为true。

SET GLOBAL local_infile = true;

您还需要将--local-infle选项传递给mysql命令行客户端

mysql --local-infile -hlocalhost -uroot -p

关于安全文件priv错误-您的Auto.csv文件是否在运行MySQL Server的同一台计算机上?

答案 1 :(得分:0)

plt.plot(org_y, color = 'red', label = 'Real Tesla Stock Price')
plt.plot(predicted_y, color = 'blue', label = 'Predicted Tesla Stock Price')
plt.title('Tesla Stock Price Prediction')
plt.xlabel('Time')
plt.ylabel('Tesla Stock Price')
plt.legend()
plt.show()

此命令将显示路径,例如

SHOW VARIABLES LIKE "secure_file_priv";

将文件放在上传的同一路径中 还要检查两个路径中的反斜杠。如果不同,请更改代码。 我做了两个步骤,并在MySQL 8中解决了这个问题。