首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL错误1290 (HY000) -安全-文件-priv选项

问MySQL错误1290 (HY000) -安全-文件-priv选项
EN

Stack Overflow用户
提问于 2015-12-05 07:44:24
回答 10查看 110.2K关注 0票数 39

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

代码语言:javascript
复制
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服务器使用-安全文件-priv选项运行,因此无法执行此语句。

我该怎么解决这个问题?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2019-05-10 21:14:28

只需创建一个具有以下内容的文件/etc/my.cnf

代码语言:javascript
复制
[mysqld]
secure_file_priv            = ''

你可以用这个龙舌兰:

代码语言:javascript
复制
echo "[mysqld]\nsecure_file_priv\t\t= ''\n" | sudo tee /etc/my.cnf

然后重新启动mysql。如果使用brew安装mysql,请运行以下命令:

代码语言:javascript
复制
brew services restart mysql
票数 4
EN

Stack Overflow用户

发布于 2017-11-27 16:18:06

Ubuntu16.04(简单):找到允许编写的地方

代码语言:javascript
复制
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/     |
+---------------------------+
1 row in set (0.00 sec)

然后,就写在那里

代码语言:javascript
复制
mysql> SELECT * FROM train INTO OUTFILE '/var/lib/mysql-files/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)

mysql>

Mac :通过MAMP安装Mysql

找出你可以在哪里写字

代码语言:javascript
复制
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL                      |
+---------------------------+
1 row in set (0.00 sec)

NULL表示您已完成任务,因此必须创建文件"~/.my.cnf“。

为通过MAMP安装的MySQL启用读写(on ):

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

mysqld_safe secure_file_priv=“/Users/俄文间谍/”

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

现在检查它是否有效:

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

代码语言:javascript
复制
$ /Applications/MAMP/Library/bin/mysql -u root -p 

b.在mysql中,查看白色列出的路径

代码语言:javascript
复制
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /Users/russian_spy/          |
+---------------------------+
1 row in set (0.00 sec)

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

代码语言:javascript
复制
mysql> SELECT * FROM train INTO OUTFILE '/Users/russian_spy/test.csv' FIELDS TERMINATED BY ',';
Query OK, 992931 rows affected (1.65 sec)

mysql>
票数 58
EN

Stack Overflow用户

发布于 2016-07-07 09:10:14

  1. 编辑(/etc/my.cnf文件用于CentOS)或(my.ini文件用于Windows)
  2. 在末尾添加secure-file-priv = ""行
  3. 使用systemctl stop mysqld停止mysql服务
  4. 使用systemctl start mysqld重新启动它

现在,它将允许您导入和导出数据。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34102562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档