MySQL中的DCL(Data Control Language)

DCL表示数据控制语言,所谓数据控制,其实就是"分配权限",通常会涉及到用户。我们主要讨论两个问题,1.用户管理 2.权限分配。

MySQL中的权限

MySQL中,主要的权限如下:


MySQL中的DCL(Data Control Language)_第1张图片
MySQL中的权限

MySQL中的用户信息都存储在系统数据库mysql的user表中,user表中则存储着每个用户拥有的权限。

Snip20170301_3.png
创建用户
creat user '用户名'@'允许登录的地址' identified by '密码';

说明:

  1. 创建的用户需同时指定该用户可以在哪个地址进行登录。
  2. 用户创建之后,自动在mysql的user表中添加了一条记录,但该用户没有任何权限。
删除用户
drop user '用户名'@'允许其登录的地址';
修改用户密码
//修改自己的密码
set password = password('新密码');
//修改他人密码(需要修改权限):
set password for '用户名'@'允许其登录的地址'=password('新密码');

权限分配

增加权限:
grant 权限名1,权限名2,···on 数据库名.对象名 to '用户名'@'允许其登录的地址' identified by '密码';
> 
1. 权限名:就是'select','update','delete',等等。其中ALL表示"所有权限",或all privileges也一样
2. 对象名:*.*表示所有数据库中的所有对象,数据库名.*表示该数据库中的所有对象(较常用)。
3. identified by后可不写,表示不修改密码。但创建用户时必须填写密码。
删除权限

表示从某个用户身上移除某些权限

revoke 权限名1,权限名2,···on 数据库名.对象名 from '用户名'@'允许其登录的地址';

你可能感兴趣的:(MySQL中的DCL(Data Control Language))