首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该如何在MySQL中解析--安全文件-优先级?

我应该如何在MySQL中解析--安全文件-优先级?
EN

Stack Overflow用户
提问于 2015-09-23 10:43:53
回答 24查看 829.3K关注 0票数 494

我正在学习MySQL,并尝试使用LOAD DATA子句。当我使用它时,如下:

代码语言:javascript
运行
复制
LOAD DATA INFILE "text.txt" INTO table mytable;

我得到了以下错误:

MySQL服务器运行时使用-secure-file-priv选项,因此无法执行此语句。

如何处理此错误?

我已经查过关于同一错误消息的另一个问题了,但还是找不到解决办法。

我正在使用MySQL 5.6

EN

回答 24

Stack Overflow用户

回答已采纳

发布于 2015-09-23 10:51:00

它按预期工作了。您的MySQL服务器已使用-安全-档案-priv选项启动,该选项限制可以使用LOAD DATA INFILE加载文件的目录。

使用SHOW VARIABLES LIKE "secure_file_priv";查看已配置的目录。

你有两个选择:

  1. 将文件移动到secure-file-priv指定的目录。
  2. 禁用secure-file-priv。这必须从启动中删除,并且不能动态修改。为此,请检查MySQL启动参数(取决于平台)和my.ini。
票数 620
EN

Stack Overflow用户

发布于 2016-11-16 10:54:18

我使用命令中的LOCAL选项解决了这个问题:

代码语言:javascript
运行
复制
LOAD DATA LOCAL INFILE "text.txt" INTO TABLE mytable;

你可以找到更多的信息,这里

如果指定了本地文件,则由客户端主机上的客户端程序读取文件并发送到服务器。文件可以作为一个完整的路径名来指定它的确切位置。如果指定为相对路径名,则该名称将相对于启动客户端程序的目录进行解释。

票数 293
EN

Stack Overflow用户

发布于 2016-11-04 09:49:45

在Ubuntu 14和Mysql 5.5.53上,这个设置在默认情况下似乎是启用的。要禁用它,需要将secure-file-priv = ""添加到mysqld配置组下的my.cnf文件中。例:-

代码语言:javascript
运行
复制
[mysqld]
secure-file-priv = ""
票数 141
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32737478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档