开发者

mysql如何配置secure_file_priv

目录
  • mysql配置secure_file_priv
  • mysql secure_file_priv属性相关的文件读写权限
    • 问题复现
    • 异常信息
    • 查询结果
    • 解决方式
  • 总结

    mysql配置secure_file_priv

    1、secure_file_priv 配置项控制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()的使用权限。

    • secure_file_priv 设置值为 NULL 时,表示限制mysqld不允许导入或导出。
    • secure_file_priv 设置值为 /dir目录时,表示限制mysqld只能在/dir目录中执行导入导出,其他目录不能执行。
    • secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出,不建议这么设置,不安全。

    2、可以使用show variables like 'secure_file_priv'查看配置参数值

    3、secure_file_priv不能使用set global 方式修改,需要再my.ini或my.conf配置文件中修改,重启mysql服务后生效

    mysql secure_file_priv属性相关的文件读写权限

    问题复现

    执行以下sql 导出数据时,出现安全问题。

    select * from a_test into outfile 'd:/ent.txt' ;

    异常信息

    查询:

    查询:select * from a_test into outfile 'd:/ent.txt'

    错误代码: 1290

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

    查询 secure_file_priv 的值

    show global variables like '%secure%';

    查询结果

    Variable_nameVALUE
    require_secure_transportOFF
    secure_file_privC:\\P编程客栈rogramData\\MySQL\\MySQL SERVER 8.javascript0\\Uploads\\

    secure_file_priv 参数解析:

    参数值说明
    null不允许导入导出
    指定文件夹( C:\\ProgramData\\.. )mysql的导入导出只能发生在指定的文件夹
    secure_file_priv 不设置没有任何限制

    解决方式

    设置secure-file-priv为空,就不会对导入导出的文件位置进行限制了

    mysql.ini文件修改

    secure-file-priv=

    修改完成后,重启 MySQL服务,重新执行就能执行成功

    oPSqGuiK

    总结

    以上为个人www.devze.com经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新数据库

    数据库排行榜