我正在学习MySQL,并尝试使用LOAD DATA子句。当我使用它时,如下所示:
LOAD DATA INFILE "text.txt" INTO table mytable;
我得到了以下错误:
MySQL服务器正在使用——secure-file-priv选项运行,所以它不能执行这条语句
如何解决这个错误?
我已经检查了关于相同错误信息的另一个问题,但仍然找不到解决方案。
我使用的是MySQL 5.6
我正在学习MySQL,并尝试使用LOAD DATA子句。当我使用它时,如下所示:
LOAD DATA INFILE "text.txt" INTO table mytable;
我得到了以下错误:
MySQL服务器正在使用——secure-file-priv选项运行,所以它不能执行这条语句
如何解决这个错误?
我已经检查了关于相同错误信息的另一个问题,但仍然找不到解决方案。
我使用的是MySQL 5.6
当前回答
我正在Debian上的MySQL5.7.11上工作,为我工作的命令是:
mysql> SELECT @@global.secure_file_priv;
其他回答
在macOS Catalina上,我按照以下步骤设置secure_file_priv
1.停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop
2.重新启动MYSQL分配——secure_file_priv系统变量
sudo /usr/local/mysql/support-files/mysql.server start --secure-file-priv=YOUR_FILE_DIRECTORY
注意:添加空值修复了我的问题,MYSQL将导出数据到目录/usr/local/ MYSQL /data/ your_db_table /EXPORT_FILE
sudo /usr/local/mysql/support-files/mysql.server start --secure-file-priv=
谢谢
MySQL使用这个系统变量来控制导入文件的位置
mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_file_priv | NULL |
+------------------+-------+
所以问题是如何改变系统变量,如secure_file_priv。
关闭mysqld Sudo mysqld_safe——secure_file_priv=""
现在你可能会看到:
mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_file_priv | |
+------------------+-------+
下面是我在Windows 7中禁用secure-file-priv的方法(vhu回答的选项#2):
进入services.msc停止MySQL服务器服务。 转到C:\ProgramData\MySQL\MySQL Server 5.6 (ProgramData在我的例子中是一个隐藏文件夹)。 在记事本中打开my.ini文件。 搜索“secure-file-priv”。 通过在行首添加'#'来注释该行。对于MySQL Server 5.7.16及以上版本,注释将不起作用。你必须将它设置为一个空字符串,就像这样- secure-file-priv="" 保存文件。 进入services.msc启动MySQL服务器服务。
我在windows 10上遇到了这个问题。为了解决这个问题,我做了以下工作。
在windows搜索(左下角)中,我输入了“powershell”。 右键单击powershell并以管理员身份运行。 导航到服务器bin文件。(C:\Program Files\MySQL\MySQL Server 5.6\bin); 键入。/ mysqld “输入”
服务器按预期启动。
在这篇文章发表时,这个帖子已经被浏览了570k次。说实话,MySQL什么时候变成了我们过度保护的无理妈妈了?这是多么耗费时间的安全尝试——这实际上只会束缚我们!
经过多次搜索和尝试,一切都失败了。 我的解决方案:
对我有用的是:
导入。csv文件通过PhpMyAdmin导入旧的盒子(如果大做在cmd行) 生成一个.sql文件。 下载。sql文件。 通过MySQL Workbench导入.sql文件。