现在的位置: 首页系统运维, 运维|存储技术>正文
mysql函数与命令禁用方法
发表于481 天前 系统运维, 运维|存储技术 暂无评论 ⁄ 被围观 +

现在mysql已经是众多中小型企业数据库的首选,所以在mysql使用要注重其安全的方面的设置,毕竟数据是无价的。

主要介绍如下几个方面的设置:

1.load data infile

 
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
 
[REPLACE | IGNORE]
 
INTO TABLE tbl_name
 
[FIELDS
 
[TERMINATED BY 'string']
 
[[OPTIONALLY] ENCLOSED BY 'char']
 
[ESCAPED BY 'char' ]
 
]
 
[LINES
 
[STARTING BY 'string']
 
[TERMINATED BY 'string']
 
]
 
[IGNORE number LINES]
 
[(col_name_or_user_var,...)]
 
[SET col_name = expr,...)]

LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。

这是一个很危险的内置函数,所以一般建议禁用掉(除非程序有用到本地文件)

通过在my.cnf中设置

local-infile=0|1  0表示禁用,1表示开启

2.load_file函数

这个函数和上面的load data 函数类似,都是读取本地文件,对于load_file(filename)函数的使用有如下的条件限制:

读取文件并将这一文件按照字符串的格式返回。 文件的位置必须在服务器上,你必须为文件制定路径全名,而且你还必须拥有FILE 特许权。文件必须可读取,文件容量必须小于 max_allowed_packet字节。

若文件不存在,或因不满足上述条件而不能被读取, 则函数返回值为 NULL。

这个主要通过mysql授权来禁用这个函数,收回用户的file权限

revoke file on *.* from 'user'@'IP';     //或者不要授予用户的file权限

3.禁用drop命令

revoke drop on *.* from 'user'@'IP';

给我留言


/ 快捷键:Ctrl+Enter
不想听你唠叨×