DCL (Data Control Language)

  • DDL: create / alter / drop
  • DML:insert /update/delete
  • DQL :select /show
  • DCL :grant /revoke

默认使用的都是root用户,超级管理员,拥有全部的权限。但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
注:mysqld是MySQL的主程序,服务器端。mysql是MySQL的命令行工具,客户端。

创建用户:

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
关键字说明
‘用户名’将创建的用户名
‘主机名’指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
‘密码’该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
-- 创建user1用户,只能在localhost这个服务器登录mysql服务器,密码为123
    create user 'user1'@'localhost' identified by '123';

-- 创建user2用户可以在任何电脑上登录mysql服务器,密码为123
	create user 'user2'@'%' identified by '123';

创建的用户名都在mysql数据库中的user表中可以查看到,密码经过了加密。
在这里插入图片描述

给用户授权
用户创建之后,没什么权限!需要给用户授权

GRANT 权限1, 权限2... ON 数据库名.表名 TO '用户名'@'主机名';
关键字说明
GRANT…ON…TO授权关键字
权限授予用户的权限,如CREATE、ALTER、SELECT、INSERT、UPDATE等。如果要授予所有的权限则使用ALL
数据库名.表名该用户可以操作哪个数据库的哪些表。如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
‘用户名’@‘主机名’给哪个用户授权,注:有2对单引号
--给user1用户分配对test这个数据库操作的权限:创建表,修改表,插入记录,更新记录,查询
grant create,alter,insert,update,select on test.* to 'user1'@'localhost';
注:用户名和主机名要与上面创建的相同,要加单引号。

-- 给user2用户分配所有权限,对所有数据库的所有表
   grant all on *.* to 'user2'@'%';

撤销授权

REVOKE 权限1, 权限2... ON 数据库.表名 revoke all on test.* from 'user1'@'localhost'; '用户名'@'主机名';
关键字说明
REVOKE…ON…FROM撤销授权的关键字
权限用户的权限,如CREATE、ALTER、SELECT、INSERT、UPDATE等,所有的权限则使用ALL
数据库名.表名对哪些数据库的哪些表,如果要取消该用户对所有数据库和表的操作权限则可用表示,如.*
‘用户名’@‘主机名’给哪个用户撤销
撤销user1用户对test数据库所有表的操作的权限
revoke all on test.* from 'user1'@'localhost';

注:用户名和主机名要与创建时相同,各自要加上单引号

查看权限

SHOW GRANTS FOR '用户名'@'主机名';

查看user1用户的权限:
在这里插入图片描述

注:usage是指连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。

删除用户

DROP USER '用户名'@'主机名';
删除user2
drop user 'user2'@'%';

修改管理员密码
mysqladmin -uroot -p password 新密码

注意:需要在未登陆MySQL的情况下操作,新密码不需要加上引号。

具体操作:
1)将root管理员的新密码改成123456
2)要求输入旧密码
3)使用新密码登录
在这里插入图片描述
修改普通用户密码

set password for '用户名'@'主机名' = password('新密码');

注意:需要在登陆MySQL的情况下操作,新密码要加单引号。
具体操作:
1)将’user1’@‘localhost’的密码改成’666666’
2)使用新密码登录,老密码登录不了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值