mysql - 无法使用LOAD DATA语句(带有制表符分隔文件)将数据加载到表中

标签 mysql load-data-infile

我正在尝试通过以下脚本将制表符分隔的文件加载到数据集中:

LOAD DATA INFILE 'C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\host_table_airbnb_new.txt'
INTO TABLE host;

SHOW VARIABLES 
LIKE "secure_file_priv";


但是我遇到了一个错误


  错误代码:1290“ secure_file_priv”已打开。


我相信我的语法正确,文件位于正确的指定位置,但是由于某些原因,我无法加载数据。

您能帮我了解我在哪里做错什么吗?谢谢。

最佳答案

MySQL服务器通常以--secure-file-priv选项开头,该选项基本上限制了您可以使用LOAD DATA INFILE从哪些目录加载文件。有理由限制允许从哪个目录加载。

您可以使用SHOW VARIABLES LIKE "secure_file_priv";查看已配置为允许这些LOAD操作的目录。因此,您可以执行以下任一操作:


将文件移动到secure-file-priv指定的目录。并且您的命令应该起作用。
-不推荐--:禁用secure-file-priv。您将必须从startup中删除​​此选项,并且不能动态完成(需要重新启动mysql服务)。检查您的MySQL启动
参数和my.ini。

关于mysql - 无法使用LOAD DATA语句(带有制表符分隔文件)将数据加载到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56484981/

相关文章:

用于缓存权限的 PHP 全局时间戳

java - MySQL - 加载数据到文件中 - 如何读取行号并将其插入表中?

mysql - 加载数据Infile语句

Mysql为表的现有列加载数据

php - 导致MySQL失败的特殊字符

mysql - SQL - 如何从列中获取最后两个字符?

MySql:从两个选择中计数(*)

c# - 使用 mysql 只搜索数字

mysql - 导入到 mySQL 后 UTF-8 字符显示不同