关于 phpstudy环境下在MySQL中执行into outfile无法导入导出文件解决方法

时间:2024-10-17 17:38:15

之前在做sqli-labs练习,需要用到into outfile 出现以下问题:

执行SQL语句后在指定的路径下无文件生成。

例如:

执行 select into outfile "C:\\phpstudy1\\PHPTutorial\\WWW\\sqli-labs-master\\Less-49\\mmm.php" ;

出现报错

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

解决方法:

关于 secure-file-priv 这个参数是限制MySQL当前能否进行导入导出操作的。

进入MySQL命令行输入:show variables like '%secure%';查看 secure-file-priv 当前的值是什么

关于 phpstudy环境下在MySQL中执行into outfile无法导入导出文件解决方法

如果值为null,需要在你的MySQL配置文件中的my.ini文件添加或修改一句话。

我添加的是:secure_file_priv="/"
关于 phpstudy环境下在MySQL中执行into outfile无法导入导出文件解决方法

添加完后需要重启MySQL服务。

这里是最关键的,如果使用的是phpstudy的同学可能会发现我点下图的重启MySQL之后

再去命令行查看secure_file_priv的值发现还是null。

关于 phpstudy环境下在MySQL中执行into outfile无法导入导出文件解决方法

这里我觉得可能是phpstudy2018本身的bug,建议大家打开服务,在服务中重启MySQL:

关于 phpstudy环境下在MySQL中执行into outfile无法导入导出文件解决方法

重启完之后再去查看发现更改完成了。

关于 phpstudy环境下在MySQL中执行into outfile无法导入导出文件解决方法