mysql——权限管理——授权、收回权限、查看授权

时间:2022-05-23 04:43:14

前期准备,新建一个用户:

create user sww@localhost identified by 123456;      /*创建一个用户*/

select * from user;

mysql -h localhost -P 3306 -u sww -p123456       /*DOS窗口中登录查看*/

mysql——权限管理——授权、收回权限、查看授权

 

 mysql——权限管理——授权、收回权限、查看授权

 

 

 

========================================================================================

 

使用grant语句来创建新的用户以及授权。在创建用户时,可以为其用户授权。但是必须拥有grant权限。

 

语法格式: 

 

                  grant   priv_type  [ colunm_list ] on  database.table

                  to   user   [ identified  by  [ PASSWORD ] ‘password‘ ] 

                  [, user  [ identified  by  [ PASSWORD ] ‘password‘ ]……

                  [ with with_option [ with_option ]…… ]

 

priv_type:表示权限类型;

colunm_list:表示权限作用于哪些列上,没有该参数时,表示作用于整个表上;

database.table:表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;

user:表示新建用户的账户,user由用户名(user)和主机名(host)构成;

identified  by:关键字用来设置用户的密码;

password:表示用户的密码;如果密码是一个普通的字符串,就不需要用PASSWORD关键字。

 

with后面带有一个或者多个with_option参数,这个参数有5个选项:

 

grant option:被授权的用户,可以将这些权限赋予给别的用户;

max_queries_per_hour count:设置每小时允许执行的count次查询;

max_updates_per_hour count:设置每小时允许执行的count次更新;

max_connections_per_hour count:设置每小时可以建立count连接;

max_user_connections count:设置单个用户可以同时具有的count连接数;

 

---------------------------------------------------------------------------------------------------------------------------------

执行授权语句:

grant select,update on *.* to sww@localhost identified by 123456 with grant option;

mysql——权限管理——授权、收回权限、查看授权

 

 

 

查询授权信息:

show grants for sww@localhost;

mysql——权限管理——授权、收回权限、查看授权

 

 

 

 

或者:

select * from mysql.user;

mysql——权限管理——授权、收回权限、查看授权

 

 

 

 

 

 

收回部分权限:

revoke select on *.* from sww@localhost;   /*收回select权限*/

mysql——权限管理——授权、收回权限、查看授权

 

 mysql——权限管理——授权、收回权限、查看授权

 

 

 

 

 

 

收回全部权限:

revoke all PRIVILEGES,GRANT option from sww@localhost;   /*收回全部权限*/

mysql——权限管理——授权、收回权限、查看授权

 

 mysql——权限管理——授权、收回权限、查看授权

 

 

 

 

 

 

===========================================================

 

查看授权信息:

show grants for sww@localhost;

select * from mysql.user;

 

方法一:   select * from mysql.user;

 

方法二:   show grants for ‘username‘@‘hostname‘;

 

username:表示用户名;

 

hostname:表示主机名或者主机IP;

 

 

 

 

======================================================

 

收回权限:

revoke select on *.* from sww@localhost;   /*收回select权限*/

revoke all PRIVILEGES,GRANT option from sww@localhost;   /*收回全部权限*/

 

语法格式: 

 

                  revoke  priv_type  [ colunm_list ]……

                  on  database.table

                  from user [ ,user ]……

========================================================