欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL:43---账户权限管理

程序员文章站 2022-06-01 23:14:00
...

一、授予用户lili在数据库studentinfo的表student上拥有对列sno和sname的select权限

grant select(sno,sname) on student to 'lili'@'localhost';

二、授予用户lili可以在数据库studentinfo中执行所有数据库操作的权限

grant all on studentinfo.* to 'lili'@'localhsot';

三、权限转移

  • 使用grant语句中的with子句来完成
  • 如果将with子句指定为with  grant  option,则表示to子句中所指定的所有用户都具有把自己所拥有的权限授予其他用户的权利,而无论那些用户是否拥有该权限

演示案例:

  • 这条语句执行之后,会创建一个名为zhou的用户,并且口令为“123”。并且拥有对数据库studentinfo中student表具有select和update权限 
grant select,update on studentinfo.student
to 'zhou'@'localhost' identified by '123'
with grant option;

四、权限限制

  • max_queries_per_hour  count:限制每个小时可以查询数据库的次数(如果count未0,表示限制限制不起作用)
  • max_updates_per_hour count:限制每个小时可以修改数据库的次数(如果count未0,表示限制限制不起作用)
  • max_ccconnections_per_hour  count:限制每个小时可以连接数据库的次数(如果count未0,表示限制限制不起作用)
  • max_user_connections  count:限制同时连接mysql的最大用户数

演示案例:

  • 使用root登录,使用户huang对stduentinfo数据库中student表每个小时只能处理一条select语句 
gramnt delete on studentinfo.student to 'huang'@'localhost' with
max_queries_per_hour 1;

五、权限的撤销

方式一:

  • 用于挥手某些特定的权限
revoke priv_type[(column_list)] [,priv_type[(column_list)]]...
on [object_type] priv_level from user[,user];

方式二:

  • 用于回收特定用户的所有权限
revoke all privileges,grant option from user[,user];

演示案例:

  • 使用root登录,回收zhou用户在数据库stduentinfo的student表的select权限
revoke select on stduentinfo.student
from 'zhou'@'localhost';

 

相关标签: 账户权限管理