目录
DCL (Data Control Language)
我们现在默认使用的都是root用户,超级管理员,拥有全部的权限。但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
创建用户
语法:
关键字说明:
具体操作:
- 创建user1用户,只能在localhost这个服务器登录mysql服务器,密码为123
- 创建user2用户可以在任何电脑上登录mysql服务器,密码为123
注:创建的用户名都在mysql数据库中的user表中可以查看到,密码经过了加密。
给用户授权
用户创建之后,没什么权限!需要给用户授权
语法:
关键字说明:
具体操作:
1、给user1用户分配对test这个数据库操作的权限:创建表,修改表,插入记录,更新记录,查询
2、给user2用户分配所有权限,对所有数据库的所有表
撤销授权
语法:
具体操作:
撤销user1用户对test数据库所有表的操作的权限
注:用户名和主机名要与创建时相同,各自要加上单引号
查看权限
语法:
具体操作:
查看user1用户的权限
注:usage是指连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。
删除用户
语法
具体操作:
删除user2
修改管理员密码
语法
注意:需要在未登陆MySQL的情况下操作,新密码不需要加上引号。
具体操作:
- 将root管理员的新密码改成123456
- 要求输入旧密码
- 使用新密码登录
修改普通用户密码
语法:
注意:需要在登陆MySQL的情况下操作,新密码要加单引号。
具体操作:
- 将'user1'@'localhost'的密码改成'666666'
- 使用新密码登录,老密码登录不了
set password for 'user1'@'localhost' = password('666666');