今天给大家分享一下解决MySQL中导出数据出现--secure-file-priv错误的办法。
一,问题重现
我使用命令:
select * from info1 into outfile '/root/users.txt';
结果出现这样的错误提示:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
这是因此MySQL服务器设置了导出路径,而/root并不是它设置的路径所以会报错!
二,解决办法
使用命令:
SHOW VARIABLES LIKE "secure_file_priv";
结果:
mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-----------------------+
| Variable_name | Value |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.02 sec)
因此我们需要把导出路径改到/var/lib/mysql-files文件夹下,命令才能执行。
mysql> select * from info1 into outfile '/var/lib/mysql-files/users.txt';
Query OK, 3218379 rows affected (4.52 sec)
另外一种办法是在MySQL的配置文件中将secure-file-priv值改掉。