暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL Error 1290 解决:secure-file-priv 限定了特定目录的

原创 eygle 2022-03-09
2495

导航目录

问题描述

在 MySQL 中,通过 OUTFILE 转出查询内容时,遇到 ERROR 1290 错误,提示 secure-file-priv 选项阻止了命令执行:

mysql> SELECT * INTO OUTFILE "/tmp/owechat_out.csv" FIELDS TERMINATED BY ',' 
> ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM owechat order by id;
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

数据库版本:

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.35    |
+-----------+

问题分析

在安装 MySQL 的时候限制了导入与导出的目录权限。只允许在规定的目录下才能导入。

可以通过以下命令查看secure-file-priv当前的值:

SHOW VARIABLES LIKE "secure_file_priv";

当前数据库的设置:

mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+

问题解决

使用 secure_file_priv 参数限定的目录进行存储和读取,就一切正常了。

mysql> SELECT * INTO OUTFILE "/var/lib/mysql-files/owechat_out.csv" FIELDS TERMINATED BY ',' 
> ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM owechat order by id;
Query OK, 1092 rows affected (0.03 sec)

secure_file_priv 参数有三个选项:

  1. NULL,表示禁止;
  2. 如果value值有文件夹目录,则只允许该目录下文件操作;
  3. 如果为空,则表示不限制目录。

修改改参数值,需要重启数据库。

最后修改时间:2022-03-09 13:53:42
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论