首页 >数据库 >mysql教程 >如何解决 MySQL 错误 1290 (HY000):--secure-file-priv 选项?

如何解决 MySQL 错误 1290 (HY000):--secure-file-priv 选项?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-31 06:44:30613浏览

How to Resolve MySQL Error 1290 (HY000): --secure-file-priv Option?

MySQL ERROR 1290 (HY000): --secure-file-priv 选项

尝试将 MySQL 脚本结果导出到文本文件时使用 INTO OUTFILE 语句时,由于 --secure-file-priv 选项,您可能会遇到错误 1290 (HY000)。此错误表示 MySQL 服务器已配置为根据特定路径限制文件访问。

解决方案

要解决此问题,您需要配置 MySQL 服务器允许文件访问您希望写入结果的特定路径:

对于 Ubuntu 16.04:

  1. 使用以下命令来识别允许的文件写入目录:

    mysql> SELECT @@GLOBAL.secure_file_priv;
  2. 在 INTO OUTFILE 语句中指定允许的目录:

    mysql> SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';

对于Mac OSX(通过 MAMP 安装 MySQL):

  1. 检查 secure_file_priv 选项是否设置为 NULL:

    mysql> SELECT @@GLOBAL.secure_file_priv;
  2. 如果NULL,在您的主目录中创建一个 .my.cnf 文件:

    $ vi ~/.my.cnf
  3. 将以下行添加到文件中:

    [mysqld_safe]
    [mysqld]
    secure_file_priv="/path/to/allowed/directory"
  4. 重新启动MySQL 服务。
  5. 现在,在 INTO OUTFILE 语句中指定允许的目录:

    mysql> SELECT * FROM train INTO OUTFILE '/path/to/allowed/directory/test.csv' FIELDS TERMINATED BY ',';

以上是如何解决 MySQL 错误 1290 (HY000):--secure-file-priv 选项?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn