环境: MySQL 8.0
操作:
1. 使用SELECT .. INTO OUTFILE ,想把数据导出到txt文件中,报如下错误:
ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
2. 在网上查找了原因是secure-file-priv 的路径约束问题,使用如下命令查看当前的配置路径:
可以通过修改my.ini文件中secure-file-priv重新配置,我就把他配置到了E盘下,my.ini在C:\ProgramData\MySQL\MySQL Server 8.0下,
# Secure File Priv.
secure-file-priv=”E:/workspace_mysql”
3. 然后重新导出,但是仍然有问题,但是这个路径已经和secure_file_priv显示的路径一致,为什么还有错误?
4. 然后猜想可能是路径分隔符使用右斜杠的原因,因为配置文件中是左斜杠,于是就把分隔符换成左斜杠,成功!
5. 但是为什么右斜杠不行,毕竟SHOW VARIABLE显示的路径也是右斜杠?难道和右斜杠本身会作为转义字符有关?于是就改成两个右斜杠,也能成功!