之前在做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 当前的值是什么
如果值为null,需要在你的MySQL配置文件中的my.ini文件添加或修改一句话。
我添加的是:secure_file_priv="/"
添加完后需要重启MySQL服务。
这里是最关键的,如果使用的是phpstudy的同学可能会发现我点下图的重启MySQL之后
再去命令行查看secure_file_priv的值发现还是null。
这里我觉得可能是phpstudy2018本身的bug,建议大家打开服务,在服务中重启MySQL:
重启完之后再去查看发现更改完成了。