MySQL错误1290(HY000)--secure-file-priv选项

我试图在脚本中使用以下代码将MySQL脚本的结果写入文本文件。

SELECT p.title, p.content, c.name FROM post p

LEFT JOIN category c ON p.category_id=c.id

INTO OUTFILE 'D:\MySql\mysqlTest.txt';

但是,我得到以下

错误1290(HY000):MySQL服务器正在使用–secure-file-priv选项运行,因此它无法执行此语句

我该如何解决?

回答:

mysql> SELECT @@GLOBAL.secure_file_priv;

+---------------------------+

| @@GLOBAL.secure_file_priv |

+---------------------------+

| /var/lib/mysql-files/ |

+---------------------------+

1 row in set (0.00 sec)

然后在那写

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

Query OK, 992931 rows affected (1.65 sec)

mysql>

找出你可以写的地方

mysql> SELECT @@GLOBAL.secure_file_priv;

+---------------------------+

| @@GLOBAL.secure_file_priv |

+---------------------------+

| NULL |

+---------------------------+

1 row in set (0.00 sec)

NULL表示您已不知所措,因此必须创建文件“〜/ .my.cnf”

  1. 打开“ MAMP”使用聚光灯
  2. 单击“停止服务器”
  3. 编辑〜/ .my.cnf(使用vi或您喜欢的编辑器)并添加以下行:

$ vi〜/ .my.cnf

[mysqld_safe]

[mysqld]

secure_file_priv="/Users/russian_spy/"

  1. 单击“启动服务器”(在MAMP窗口中)

一个。启动mysql(默认的MAMP用户是root,密码也是root)

$ /Applications/MAMP/Library/bin/mysql -u root -p

b。在mysql中查看列入白名单的路径

mysql> SELECT @@GLOBAL.secure_file_priv;

+---------------------------+

| @@GLOBAL.secure_file_priv |

+---------------------------+

| /Users/russian_spy/ |

+---------------------------+

1 row in set (0.00 sec)

C。最后,通过将表导出train到CSV文件进行测试

mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',';

Query OK, 992931 rows affected (1.65 sec)

mysql>

以上是 MySQL错误1290(HY000)--secure-file-priv选项 的全部内容, 来源链接: utcz.com/qa/404535.html

回到顶部