禁用local_infile
Posted 雅冰石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁用local_infile相关的知识,希望对你有一定的参考价值。
一 问题描述
local_infile变量为ON,表示能使用load data local infile命令从客户端把文件加载进数据库表中,存在访问控制漏洞:
因此,需要禁用该变量。
二 禁用方法
set global local_infile=off;
vi my.cnf
在[mysqld]下添加一行:
local_infile=off
如果禁用后,再用此方式导入,就会提示报错,示例:
MariaDB [(none)]> load data local infile '/var/lib/mysql/b.sql' into table baidd.t1;
ERROR 1148 (42000): The used command is not allowed with this MariaDB version
三 注意事项
global local_infile=off只是禁用了load data local infile,不影响load data infile的使用。
因为load data infile方式,是从服务器把文件加载进数据库表中,而非从客户端加载,示例:
该sql是在数据库服务器上存放的,不在客户端本地。
本篇文章参考了:
load data local infile 与 load data infile 的区别与注意事项_YoungerChen的专栏-CSDN博客
以上是关于禁用local_infile的主要内容,如果未能解决你的问题,请参考以下文章
基线检查(高)基线检查--禁用local-infile选项(访问控制)