MySQL - 将 secure_file_priv 从 NULL 更改为路径或空

MySQL - Change secure_file_priv from NULL to either path or empty

我的 OS:Mac 大苏尔 11.4

MySQL Workbench 版本 8.0.28

因为我需要将批量 CSV 文件导入 MySQL,我的目标是 NOT 在 运行:

时接收 NULL

SHOW VARIABLES LIKE 'secure_file_priv';

我试过 this guide 因为它看起来是最近的:

[mysqld] secure_file_priv = ""

但我在 secure-file-priv

中仍然收到 NULL

如有任何解决此问题的建议,我们将不胜感激。

经过研究,我能够使用 secure_file_priv + 路径创建 my.cnf,将配置文件连接到 my.cnf 并使用 LOAD DATA INFILE 导入 cvs 文件。

我是这样做的:

一个。正在创建 my.cnf:

  1. 使用文本编辑器创建 my.cnf 文件
  2. 在my.cnf中,输入以下内容并保存到选择的文件夹(即桌面):

[mysqld] secure_file_priv = "/usr/local/”

*保存时,取消勾选如果未提供扩展名,请使用“.txt”,这样文件的“类型”就是文档。

  1. 将 my.cnf 文件移动到 /etc/

乙。在 MYSQL WORKBENCH:

  1. 标签管理(左上角)
  2. 单击“管理服务器连接”(实例旁边,可以找到屏幕截图here
  3. 将安装类型更改为:macOS(MySQL 软件包)
  4. 在配置文件旁边 > 选择 /etc/my.cnf
  5. 测试连接进行检查。如果成功,关闭。
  6. 单击 INSTANCES 下的 Options File 检查是否仍然“...not specified”(不应该)
  7. 退出Workbench
  8. RESTART SERVER 通过系统偏好设置 > 我的 SQL > 停止服务器然后再次启动服务器
  9. 打开Workbench查看

`

SHOW VARIABLES LIKE 'secure_file_priv';

Expected result: 
Variable_Name: secure_file_priv
Value: /usr/local/

`

C。正在导入:

  1. 将我的 csv 文件移动到 /usr/local/
  2. 使用

LOAD DATA INFILE '/usr/local/filename.csv' [...]