我试图使用脚本中的以下代码将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服务器使用-安全文件-priv选项运行,因此无法执行此语句。
我该怎么解决这个问题?
发布于 2019-05-10 21:14:28
只需创建一个具有以下内容的文件/etc/my.cnf
[mysqld]
secure_file_priv = ''你可以用这个龙舌兰:
echo "[mysqld]\nsecure_file_priv\t\t= ''\n" | sudo tee /etc/my.cnf然后重新启动mysql。如果使用brew安装mysql,请运行以下命令:
brew services restart mysql发布于 2017-11-27 16:18:06
Ubuntu16.04(简单):找到允许编写的地方
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>Mac :通过MAMP安装Mysql
找出你可以在哪里写字
mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL |
+---------------------------+
1 row in set (0.00 sec)NULL表示您已完成任务,因此必须创建文件"~/.my.cnf“。
为通过MAMP安装的MySQL启用读写(on ):
mysqld_safe secure_file_priv=“/Users/俄文间谍/”
现在检查它是否有效:
启动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)最后,通过将表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>发布于 2016-07-07 09:10:14
secure-file-priv = ""行systemctl stop mysqld停止mysql服务systemctl start mysqld重新启动它现在,它将允许您导入和导出数据。
https://stackoverflow.com/questions/34102562
复制相似问题