命令记不住

登陆

SQL 语句 DCL

SQL语句DCL

1.DCL语句

  • GRANT
  • REVOKE

语法:

grant       all     on    *.*      to  wordpress@'%'        identified by '123';

2.权限部分

INSERT,
SELECT, 
UPDATE, 
DELETE, 
CREATE,
DROP, 
RELOAD,
SHUTDOWN,   
PROCESS, 
FILE, 
REFERENCES, 
INDEX, 
ALTER, 
SHOW DATABASES, 
SUPER,  
CREATE TEMPORARY TABLES, 
LOCK TABLES, 
EXECUTE, 
REPLICATION SLAVE,  
REPLICATION CLIENT, 
CREATE VIEW, 
SHOW VIEW, 
CREATE ROUTINE, 
ALTER   ROUTINE, 
CREATE USER, 
EVENT, 
TRIGGER, 
CREATE TABLESPACE

all--> 一般是给管理型的用户用的
all中不包含:
with grant option

3.作用对象

MySQL: 库和表

*.*   : 表示的是,对整个数据库下的所有的表都授权.
x86.* :表示的是,对x86下所有的表都授权
x86.t1 :只对 x86下的t1表进行授权
例子:需求,允许wordpress用户能从,10.0.0.0网段连接并管理wordpress库下的所有表,具备所有权限,并设置密码为123

公式:

grant       权限      on   作用对象    to  用户       identified by '密码';

8.0版本以前: 创建用户和授权都合到一起了,其实是不符合SQL92标准的

grant  all   on wordpress.* to wordpress@'10.0.0.%' identified by '123';

4.标准的SQL92标准

用户必须提前存在
授权sql命令

grant  all   on wordpress.* to wordpress@'10.0.0.%'

8.0以后授权:`

create user wordpress@'10.0.0.%' identified by '123';
grant all on wordpress.* to wordpress@'10.0.0.%';

5.生产授权案例

生产库:

管理员用户 : root身份
授权管理员用户x86cloud,实现从10网段登录管理 
[(none)]>grant all on *.* to x86cloud@'10.0.0.%' identified by '123';

6.查看用户具备的操作权限

show grants for x86cloud@'10.0.0.%';
show grants for root@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION

7.回收权限

revoke select on *.* from 'x86cloud'@'10.0.0.%';
推荐阅读