用户与权限
用户管理
创建用户
- 语法
1
2
3CREATE USER [IF NOT EXISTS]
账户名 [用户身份验证选项][账户名,[用户身份验证选项]]...
[WITH 资源控制选项] [密码管理选项|账户锁定选项] - 示例
1
2
3
4
5
6
7
8
9
10
11# 创建简单用户java22
CREATE user `java22`;
# 创建含有密码的用户
CREATE USER '用户名' IDENTIFIED BY '密码
# 创建多个用户
CREATE USER
'用户名1' IDENTIFIED BY '密码1,
'用户名2' IDENTIFIED BY '密码2,
...
设置密码
- 方式1
利用mysqladmin
,我们不需要先登录,但是需要知道原来的密码;我们可以直接修改,修改密码格式为:mysqladmin -u用户名 -p旧密码 password 新密码
- 方式2
set password for 用户名@localhost = password('新密码');
一定不要忘记最后面的分号,例如:我们把密码改成成123:出现以下界面说明修改成功1
set password for root@localhost = password('123');
- 更新中…
修改用户
- 更新中…
删除用户
- 命令:
DROP USER [用户名]
权限管理
- 在实际项目开发中,为了
保证数据的安全
,数据库管理员需要为不同层级的操作人员分配不同的权限,限制
登录MySQL服务器的用户
只能在其权限范围内操作
。同时管理员还可以根据不同的情况为用户增加权限或回收权限,从而控制数据操作人员的权限。
查看权限
- 语法
SHOW GRANTS [FOR 账户]
- 示例 查看java22权限提示:若在客户端使用的是
1
SHOW GRANTS FOR `java22`;
root
用户登录的MYSQL服务器,则在此处查看root
用户权限时,可以直接使用SHOW GRANTS
命令。
查询结果中USAGE
表示没有任何权限,如下所示: ALL PRIVILEGES
表示除GRANT OPTION
(授权权限)和PROXY
(代理权限)外的所有权限。''@''
表示任何主机中的匿名用户
授予权限
权限分类
- 数据权限:增删改查(select/update/delete/insert)
- 结构权限:结构操作(create/drop)
- 管理权限(通常只有管理员有管理权限):用户操作权限(create user/grant/revoke)
权限级别
权限级别指的就是权限可以被应用在哪些数据库的内容中。
级别分类:
- 全权权限(
ON *.*
) - 数据库级权限(
ON 数据库名.*
) - 表级权限(
ON 数据库名.表名
) - 列级权限(
权限类型(字段列表)ON 数据库名.表名
) - 存储过程权限
- 代理权限(
PROXY ON 账户名
)
授权语法
1 | GRANT 权限列表 ON 权限级别 TO 账户名 |
- 示例
1
2
3
4
5
6
7
8# 授权java22用户全局的select权限
GRANT SELECT ON *.* TO `java22`;
# 给mybookshop数据库的所有表授予select,insert权限
GRANT SELECT,INSERT ON mybookshop.* TO `java22`;
# 授予book表的删除权限
GRANT DELETE ON mybookshop.books TO `java22`;
# 授予java22用户mybookshop的books表的UnitPrice更新权限
GRANT UPDATE(UnitPrice) ON mybookshop.books TO `java22`;
回收权限
关键词REVOKE
- 语法
1
2REVOKE 权限类型 [(字段列表)] [,权限类型(字段列表)]...
ON [目标类型] 权限级别 FROM 账户名 [,账户名]... - 示例1 回收指定用户java22全局的select权限
1
REVOKE SELECT ON *.* FROM `java22`@`%`;
- 示例2 回收指定用户java22的所有权限
1
REVOKE ALL ON *.* FROM `java22`@`%`;
刷新权限
- 使用这个命令使权限生效,对权限表user、db、host等做了update或者delete更新的时候务必执行权限刷新。
1
flush privileges; //刷新权限
- 另外也可以用
msyqladmin
命令完成权限刷新1
2
3
4# 方式1
msyqladmin -uroot -p reload
# 方式二
msyqladmin -uroot -p flush-privileges
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 暮辞のBlog!
评论