专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » mysql权限:MySQL权限分配 »正文

mysql权限:MySQL权限分配

来源: 发布时间:星期五, 2008年12月19日 浏览:5次 评论:0


MySQL权限系统围绕着两个概念:

1:认证->确定用户是否允许连接数据库服务器

2:授权->确定用户是否拥有足够权限执行查询请求等

显然从上面可知如果认证不成功哪么授权肯定是无法进行在这里我们要关注两个表分别是在MySQL数据库中user表和db表

user表在某种程度上是独无 2它是唯个在权限请求认证和授权阶段都起作用也是唯个存数MySQL服务器相关权限权限表在认证阶段它只是负责为用户授权访问MySQL服务器确定用户每小时最大连接数和最大并发数;在授权阶段user确定允许访问服务器用户是否被赋予了操作数据库全局权限确定用户每小时最大查询数和更新数

db表用于为每个用户针对每个数据库赋予权限具体可以查看db字段

用户和权限管理命令:

create user :用于创建新用户账户(从5.0版本开始有这个命令)在创建这个用户时候不分配任何权限需要在创建的后通过grant命令来给改用户分配相应权限

eg:create user guest@localhost identied by '123456';
grant select on mydb.* to guest@localhost;

drop user:删除个用户账户(注意在4.1.1版本的前只能删除没有任何权限账户5.0.2的后可以删除任何账户)

eg:drop user guest;

rename user:可以实现重命名个用户账号

grant:用于管理访问权限也就是给用户账号授权当然它同样可以创建个新用户账户

eg:grant select, insert, update, delete on _db.* to guest@'%' identied by '88888888';

grant 权限 on 数据库.表 to 用户 @ 访问方式 identied by 密码

grant select on mydb.* to guest@localhost identied by '123456';

BTW:如果需要个空密码或者无密码账户必须先用Create User命令然后通过

grant来分配权限如果如下操作:

grant all privileges on mydb.* to visitor@'%' ;而在数据库user表中没有先创建visitor

用户则会发生1133"Can't find any matching row in the user table"grant只能创

有密码账户

revoke:删除个账户具体查看MySQL文档

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: