SELECT ... INTO OUTFILE中面临的secure_file_priv问题

当从一个表中的数据导入到一个文件中时,能够执行以下命令:java

SELECT * FROM table_name INTO OUTFILE '/home/wuwenlun/test.sql'

当此时可能会遇到以下问题:mysql

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

当前mysql启用了安全文件模式,因此导入数据到文件失败了。那么接下来,咱们执行以下命令来看看,安全文件的存放路径应该是在哪里呢?sql

mysql> SELECT @@secure_file_priv;
+-----------------------+
| @@secure_file_priv    |
+-----------------------+
| /var/lib/mysql-files/ |
+-----------------------+
1 row in set (0.00 sec)

安全文件存放路径是在/var/libmysql-files/路径下。安全

有一种方法是直接把数据导入到在该路径下的文件。如:this

SELECT * FROM table_name INTO OUTFILE '/var/lib/mysql-files/test.sql'

另外一种是修改/etc/my.cnf文件,末尾添加以下内容:code

secure_file_priv="/"     ##表示便可将数据导出到任意目录
相关文章
相关标签/搜索