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';
上一篇: MySQL账户管理
下一篇: CPU引脚虚焊引起的不开机故障