“翅低白雁飞仍重,舌涩黄鹂语未成”
序
很多时候,我们需要将数据库的查询结果自动保存到文件,这样就免得手动复制粘贴了。
导出文件语法
select * from tableName INTO OUTFILE "D:\\Program\\MySQL\\mysql-5.7.18-winx64\\data.txt";
说明:
以上语法为:将tableName 表的内容导出到“D:\Program\MySQL\mysql-5.7.18-winx64\”目录下的data.txt文件。
问题
如果以上语句在执行时出现下面错误
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
- 首先检查导出功能是否打开,
SHOW VARIABLES LIKE "secure_file_priv";
如果该值是null,则需要在mysql的配置文件中my.ini添加导出的属性:
secure_file_priv='D:\Program\MySQL\mysql-5.7.18-winx64'
然后重启数据库即可。
2. 如果设置导出文件的目录,还是报上面的错,则需要查看导出文件的SQL语句中的目录是否正确,应该和配置文件的路径一致,因为有可能在其他目录,MySQL没有权限去建文件。此时只需要修改导出的目录到配置目录即可。