no_rain

mysql的安全性控制

mysql采用二级访问控制机制:第一级是用户登录服务器权限,通过用户名,密码,客户端登录IP来控制;第二级是针对已经登录的用户,对那些数据库具有哪些权限。权限可以通过如下查询:
show privileges;
mysql通过mysql数据库来保存这些权限信息的。
use mysql;
show tables;
其中user表保存了大部分信息,但是一般只用它来保存一级权限:
select Host ,User, Password from user;
匿名用户要删除,即是那些可以不用用户名登录的用户:
delete  from user where User='';
user表中有二级权限的选项,但是为了区分的具体的数据库,就不使用该表的内容,而把它留到其他表中,如db;一般对二级权限修改的时候都使用SQL;
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';
GRANT USAGE ON *.* TO 'jeffrey'@'localhost';
其中all和usage是相对的,即all全有,usage全无;db1是数据库,invoice 是表,*.*表示所有数据库。
需要查看某用户的权限时可以
show grants for user@localhost;
删除用户的权限使用revoke
REVOKE ALL PRIVILEGESGRANT OPTION on db.table FROM user ;

posted on 2011-11-11 11:22 is-programmer 阅读(141) 评论(0)  编辑 收藏 引用 所属分类: mysql数据库


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


导航

<2012年3月>
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567

统计

常用链接

留言簿

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜