GRANT语句用于授予用户权限,权限可以授予数据库、表、列甚至特定操作的细粒度控制

mysql基本的授权(grant)、回收权限(revoke)

01、授权(grant)

grant all privileges on *.*   to  'mvpbang'@'localhost'  identified by '123123';
flush privileges;  

语法:
grant 权限1,权限2,…权限n  on 数据库名称.表名称  to '用户名'@'用户地址'  identified by '连接口令';

权限: 
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file

all privileges或者all代替,表示赋予用户全部权限

数据库/表:
*.*     表示赋予用户操作服务器上所有数据库所有表的权限
mvpbang.*  赋予用户,对mvpbang库的权限
mvp.user   赋予用户,对mvp库下user表的权限

用户名:
xxx

用户地址:
localhost、ip地址、机器名字、域名  用'%'表示任何地址都可以连接
'连接口令'  不能为空,否则创建失败


grant select,insert,update on mvpbang.user to 'mvpbang'@'127.0.0.1' identified by '1212';
grant all privileges on *.* to 'mvp'@'%' identified by '123123';
grant all  on *.* to  'mvpbang'@'%' identified by '123123';
flush privileges;   //刷新权限,使之生效

2.回收权限(revoke)

#给用户cacti赋予所有库的所有权限 
grant all privileges on *.* to 'cacti'@'%' identified by 'cacti' with grant option; 

#重新载入赋权表 
flush privileges; 

#收回权限(不包含赋权权限) 
revoke all privileges on *.* from cacti; 
revoke all privileges on cacti.* from cacti; 

#收回赋权权限 
revoke grant option on *.* from cacti;

#重新载入赋权表 
flush privileges;