分类: Mysql/postgreSQL
2011-01-26 17:03:10
转载自:丁丁:http://www.itpub.net/thread-831154-3-1.html
Mysql安全管理
一、 mysql访问控制
mysql的访问分两个阶段:
1. 检查用户是否具有建立与mysql的连接的权利,主要依靠检查:用户名、主机名和密码;
2. 建立了连接后,服务器检查客户端发出的每个请求。看是否有足够的权限实施它。例如执行select命令等。
二、 权限控制
1. mysql访问权限管理通过6个表:user、db、host、tables_priv、columns_priv和procs_priv来控制,6个表的作用如下表:
表名 |
含义 |
user |
控制“用户名”(user)可以从哪一台“主机名”(host)访问mysql 该表包括全局权限的控制 |
Db |
规定哪个用户可以访问哪个数据库 |
Host |
host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限 |
Tables_priv |
规定谁可以访问数据库的哪一个表 |
columns_priv |
规定谁可以访问表的哪一个列 |
procs_priv |
规定谁可以执行哪个存储过程 |
2. mysql识别的权限如下表:
Mysql权限 |
对应权限列 |
含义 |
用于数据表访问 | ||
Select |
Select_priv |
是否可以读取表的数据 |
Insert |
Insert_priv |
是否可以向表中插入新的记录 |
delete |
Delete_priv |
是否可以删除表中现有记录 |
Update |
Update_priv |
是否可以更新表中现有记录 |
Lock tables |
Lock_tables_priv |
是否可以锁定表 |
用于改变数据库、数据表和视图 | ||
Create |
Create_priv |
是否可以创建一个新的数据库和数据表 |
Create temporary table |
Create_tmp_table_priv |
是否可以创建临时表 |
Alter |
Alter_priv |
是否可以重命名并改变它的结构 |
Index |
Index_priv |
是否可以添加或删除表索引 |
References |
References_priv |
暂不用 |
Drop |
Drop_priv |
是否可以删除现有的数据库或表 |
Create view |
Create_view_priv |
是否可以创建视图 |
Show view |
Show_view_priv |
是否是可以检查视图定义 |
用于存储过程 | ||
Alter routine |
Alter_routine_priv |
是否改变现有的存储过程 |
Create routine |
Create_routine_priv |
是否可以定义新的存储过程 |
Execute |
Execute_priv |
是否可以执行存储过程 |