MySQL 用户与权限

每篇一语:坚持下去,总会成功;敲得门多,总有人开门;决不认输!

1.MySQL 用户操作

2.MySQL 权限管理

  

======================  华丽丽的分割线  ======================

  

  在MySQL中,之前一般使用root账号,root账号拥有全部权限,所以之前控制权限的责任交给了应用程序去处理,但这样是很不好的。所以,不仅应用程序需要控制,且也需要从MySQL本身来控制。

  

1.MySQL 用户操作

 

1.1.  创建用户:

1 # create user '用户名' @ '能连接的地址' identified '密码'
2 # 其中 能连接的地址 可以是:localhost 或 hasone。com 等等,不同得连接地址即使账号相同也会被区别对待。
3 # 若要使得所有得地址都可以透过该账号连接可以写为 %
4 # 示例如下:
5  create user 'hasone' @ '%' identified '5201314'

  

1.2. 删除用户:

1 # drop user '用户名' @ '能连接的地址'
2 # 示例如下
3
4  drop user 'hasone' @ '%'

  

1.3. 修改用户名和密码:

1 # 修改用户名
2 # rename user '用户名' @ '能连接得地址' to '新的用户名' @ '新的能连接的地址'
3 # 示例如下;
4 rename user 'hasone' @ '%' to 'hasone' @ 'localhost'
5
6 # 修改密码
7 # set password for '用户名' = password('新密码')
8 # 示例如下:
9  set password for 'hasone' @ '%' = password('654321')

   

======================  华丽丽的分割线  ======================

  

2.MySQL 权限管理

  

2.1. 授予权限:

1 # grant 权限名1,权限名2,... on 表名 / 数据库.* / *.* to 用户名
2 # 其中权限名看 2.2.
3 # 表名指的是要赋予该权限的表,数据库.*表示该数据库的所有表,*.*表示所有表
4 # 示例如下:
5 grant all privileges on *.* to 'hasone' @ '%'

  

2.2. 相关权限:

select

insert

 

---- 允许只赋予操作列权限 ----

delete          

update        

references

index

---- 允许只赋予操作列权限 ----

  

alter

create

drop

all / all privileges

1 # 有些权限可以选择只赋予某个列
2 # 示例如下:
3 grant update,delete(name,age) on forum.user to 'hasone' @ '%'

  

2.3. 回收权限

1 # 回收用户权限
2 # revoke 权限名1,权限名2,... on 表名 / 数据库.* / *.* to 用户名
3 # 示例如下:
4 revoke delete(name,age) on forum.user to 'hasone' @ '%'

posted on 2011-05-27 12:47  五月十七  阅读(172)  评论(0)    收藏  举报

导航