在osx上更改mysql中的secure-file-priv

时间:2016-12-06 00:46:31

标签: mysql angularjs database macos csv

我正在尝试将结果表打印到csv文件或文本文件中,并在mysql中使用outfile但我收到此错误: 错误1290(HY000):MySQL服务器正在运行--secure-file-priv选项,因此无法执行此语句

我试图将此secure-file-priv设置为""但我真的不能在我的mac中找到my.cnf文件。 my.cnf的定位结果如下:

/usr/local/Cellar/mysql/5.7.16/mysql-test/include/default_my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/federated/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_big/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_binlog/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_ddl/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_memcache/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_rpl/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndb_team/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/ndbcluster/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/rpl/extension/bhs/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/rpl/my.cnf
/usr/local/Cellar/mysql/5.7.16/mysql-test/suite/rpl_ndb/my.cnf

我不认为他们中的任何一个是我需要添加的[mysqld] secure-file-priv =""至。 我也尝试在mysql中设置它,但它是只读的,我不能改变它。我甚至试图在/ etc /中手动添加my.cnf文件后停止并重新启动我的mysql,但后来又无法启动服务器并使用mysql。

3 个答案:

答案 0 :(得分:2)

我正在使用mysql Ver 14.14 Distrib 5.7.20,for osx10.12(x86_64) 按照以下步骤更改-secure-file-priv

  1. 寻找" my.cnf"文件位于/ usr / local / etc
  2. 添加secure-file-priv =""进入my.cnf
  3. 使用/usr/local/opt/mysql/support-files/mysql.server restart重启mysql
  4. 重新启动后,我可以在mysql上使用OUTFILE命令。

答案 1 :(得分:1)

我查看了MySQL Workbench的设置。 在"选项文件"中,它被设置为正确的值。但在"管理 - 状态和系统变量"中,它保持默认值NULL。虽然我重新启动了服务器。

经过一些研究,我发现它是由错误的文件许可来装的。我一开始就有: -rw ------- 1根轮31 3月24日13:31 my.cnf

我使用命令chmod 0755将权限更改为: -rwxr-xr-x 1根轮31 3月24日13:31 my.cnf

然后重新启动服务器,我可以看到"选项文件"和"管理 - 状态和系统变量"具有相同的价值和地位。

答案 2 :(得分:0)

这就是我服务器上的样子。我无法在评论中添加屏幕截图。

This is what it looks like on my server;