mysql - 尝试将文件导入 MySQL (5.7.16),出现错误代码 : 1290( --secure-file-priv) on Mac

标签 mysql macos homebrew workbench

我使用 Homebrew 安装了 MySQL(5.7.16),现在我正在尝试导入一个 sql.file,这是我收到的通知。错误代码:1290(--secure-file-priv)。我的 mac 是 10.12.1。我看到了另一个答案,它建议解决方案是应该添加 secure-file-priv = ""MySQL ERROR 1290 (HY000) --secure-file-priv option

但我如何在 Mac 上执行此操作?

最佳答案

我刚刚被迫升级到 Sierra (10.12.1),最后下载了 5.7.16。我遇到了无法导入/导出的相同问题。要解决此问题,您必须在 mysql 命令中包含一个 --secure-file-priv 选项。由于我安装的mysql是自动启动的,所以选项由一个plist文件控制。在我的安装中,它是

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

根据操作系统和安装方式(源、pkg、macports 等),您的默认启动过程可能会有所不同。我使用 dmg 从 Oracle 安装,并让这个 plist 文件控制我的启动。如果你这样做了,用 sudo 编辑 plist 文件(我用的是 vi):

sudo vi /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist 

你应该看到一个看起来像这样的部分

<key>ProgramArguments</key>
    <array>
        <string>/usr/local/mysql/bin/mysqld</string>
        <string>--user=_mysql</string>
        <string>--basedir=/usr/local/mysql</string>
        <string>--datadir=/usr/local/mysql/data</string>
        <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
        <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
        <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
        <string>--secure-file-priv=/PATH/TO/DIR/</string>
    </array>

将最后一行添加/编辑到您要导入/导出的目录。

在 mysql 中使用 IMPORT 或 EXPORT 时,必须使用完整路径文件名,即:

select * from user INTO OUTFILE "/PATH/TO/DIR/file.txt";

仅尝试使用文件名是行不通的。如果您打算导出,该目录还需要写权限(我的目录在我的个人用户空间下,需要使指定的目录对所有人都可写 - 即

chmod a+w /PATH/TO/DIR

这为我解决了问题。

关于mysql - 尝试将文件导入 MySQL (5.7.16),出现错误代码 : 1290( --secure-file-priv) on Mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561248/

相关文章:

mysql - Delphi中从SQL表接收数据

在 Mac 上使用 gcc 4.6.1 的 C++11

c# - System.Web.HttpException : Validation of viewstate MAC failed in ASP. NET

hadoop - mac osx 10.8.4 上缺少 systemd

macos - 在 macos 上用brew安装ant出错了?

mysql - 在 osx 10.11 上安装 DBD::MySQL 时出错 - 无法链接/包含 C 库 '',中止

mysql - 您将如何分析大型(300mb+)xml 文件并将其放入数据库?

mysql - 追随者/关注关系

javascript - 通过 Node.JS 函数调用 mySQL 存储过程的问题

css - LESS.app 以 100% 的 CPU 使用率运行