secure_file_priv= NULL

问题描述 投票:0回答:2

我是 mySql 工作台的新手,需要帮助导入大文件进行分析。我在这里读到 MySQL Workbench 表数据导入向导非常慢 不应使用数据导入向导,因此我按照建议使用了 LOAD DATA INFILE,但由于

secure_file_priv=NULL
,我遇到了导入问题。

我在这里找到了解决方案我应该如何处理MySQL中的--secure-file-priv?但我不知道如何重置

secure_file_priv
的值。

我找到了一些使用命令行来执行此操作的来源,但我不知道如何从命令行使用 mySql Workbench。

任何有关如何禁用或更改它的帮助将不胜感激

mysql mysql-workbench
2个回答
0
投票

请勿触摸它,这是一项基本的安全功能。

使用工作台中服务器下的数据导入,

如果你想通过 sql 来完成,ecery thng os 已经写在我应该如何处理 MySQL 中的 --secure-file-priv?你链接的

简单 将文件复制到文件夹中,当您执行

SHOW VARIABLES LIKE "secure_file_priv";

时,您将获得该文件作为值

现在您可以理想地从控制台创建LOAD DAT,因为这样就没有超时。

另请阅读在名称中批量插入,以便您可以优化大数据导入

如果您确实想使用任何不推荐的文件夹,则必须编辑

my.ini
文件并重新启动服务器(两者都可以在工作台中完成,您在图片中看到
options file
Start/shutdown
。)还有一些其他方法可以重新启动服务。

以下是导入 csv

的基本知识

0
投票

secure_file_priv为空的原因是因为通常服务器端的软件安装在服务器上,而在我们的例子中,mysql服务器安装在同一台mac上(充当客户端和服务器)。 它是您可以通过系统找到的守护进程(运行后台的服务) [安装在同一台Mac上的mysql守护进程(服务)][1] [1]:https://i.stack.imgur.com/5vlF4.png 客户端mysql工作台 因此,为了启用从文件导入,您需要在两侧设置权限

    对于服务器端:
在里面运行这个命令就可以了

设置全局local_variable = on; 您可以使用以下命令检查它是否已打开: 显示全局变量,如“local_infile”; [在服务器上启用本地导入][2] [2]:https://i.stack.imgur.com/AQH1W.png

    至于workbench mysql客户端需要添加
OPT_LOCAL_INFILE=1 到连接下的高级部分: 右键单击

本地实例 > 编辑连接 > 高级 添加行OPT_LOCAL_INFILE=1 [启用客户端本地输入][3] [启用客户端本地输入][4] [3]:https://i.stack.imgur.com/FlpV0.png [4]:https://i.stack.imgur.com/U0RtR.png

    重新启动客户端和服务器
  1. 然后将单词 local 添加到命令中,如下所示:
  2. 加载数据本地infile‘文件路径’...........
© www.soinside.com 2019 - 2024. All rights reserved.