Mysql中常用DCL和数据库权限列表总结


前言

MySQL是一个流行的开源关系型数据库管理系统,广泛应用于各种应用程序和数据管理场景。为了保护数据库中的数据安全,MySQL提供了DCL语句和一系列权限控制机制,允许管理员对用户进行身份验证、授权和撤销等操作。
本文将总结MySQL数据库中的数据控制语言(DCL)和一些常用的权限控制机制。读者可以了解如何使用MySQL的DCL语句来管理用户权限、授权和撤销等操作,以保护数据库的安全性和完整性。后续使用到其他会继续补充。


一、用户控制管理

1.1、创建用户

CREATE USER语句用于创建新的数据库用户:

create user '用户名'@'主机名' identified by '密码';

1.2、修改用户密码

`ALTER USER`语句用于修改用户的密码:
alter user '用户名'@'主机名' identified with mysql_native_password by '密码';

1.3、删除用户

DROP USER语句用于删除指定的用户:

drop user '用户名'@'主机名';

1.4、示例

#1 查询用户
use mysql;
select * from user;
#2 创建用户
create user 'root'@'localhost' identified by '123456';
#3 修改用户密码
alter user 'root'@'localhost' identified with mysql_native_password by '1234';
#4 删除用户
drop user 'root'@'localhost';

注意:
localhost: 表示匹配本地主机
%: 表示可以匹配任意主机

二、权限控制管理

2.1、查询权限

show grants for '用户名'@'主机号';

2.2、授予权限

GRANT语句用于为用户授予特定的权限:

grant 权限列表 on 数据库名.表名 to '用户名'@'主机号';

2.3、删除权限

REVOKE语句用于从用户中撤销特定权限:

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机号';

2.4、示例

# 查询权限
show grants for 'root'@'localhost';
# 授予权限
grant all on test.* to 'root'@'localhost';
# 删除权限
revoke all on test.* from 'root'@'localhost';

注意:
all: 可以表示授予全部权限。
test.*: *可以表示匹配任意数据,在数据库名,和表名中都可以使用。

三、 数据库权限列表

在MySQL数据库中,以下是一些常见的权限列表示例,可以用于授予或撤销数据库用户的权限:

3.1、全局级别权限

  • ALL PRIVILEGES:赋予用户所有权限
  • CREATE USER:创建用户
  • RELOAD:重新加载授权表
  • SHUTDOWN:关闭服务器
  • PROCESS:查看和终止其他用户的进程
  • SUPER:执行超级用户操作

3.2、数据库级别权限

  • CREATE:创建新数据库或表
  • DROP:删除数据库或表
  • ALTER:修改数据库或表结构
  • SELECT:查询数据
  • INSERT:插入数据
  • UPDATE:更新数据
  • DELETE:删除数据
  • INDEX:创建或删除索引
  • REFERENCES:创建外键
  • LOCK TABLES:锁定表格

3.3、表级别权限

  • SELECT:查询数据
  • INSERT:插入数据
  • UPDATE:更新数据
  • DELETE:删除数据
  • REFERENCES:创建外键
  • INDEX:创建或删除索引
  • ALTER:修改表结构

3.4、列级别权限

  • SELECT:查询数据
  • INSERT:插入数据
  • UPDATE:更新数据

3.5、存储过程和函数级别权限

  • EXECUTE:执行存储过程和函数

3.6、权限管理

  • GRANT OPTION:授予或撤销权限

具体的权限列表可能会在不同的MySQL版本和设置中有所不同。可以参考MySQL官方文档


四、补充

4.1、角色管理

  1. 创建角色:
    CREATE ROLE语句用于创建新的角色。

    CREATE ROLE 'rolename';
    
  2. 授予角色:
    GRANT语句用于为用户授予特定的角色。

    GRANT 'rolename' TO 'username'@'localhost';
    
  3. 撤销角色:
    REVOKE语句用于从用户中撤销特定角色。

    REVOKE 'rolename' FROM 'username'@'localhost';
    

4.2、其他权限控制方法

  1. 刷新权限:
    FLUSH PRIVILEGES语句用于重新加载权限表。

    FLUSH PRIVILEGES;
    
  2. 查看用户权限:
    SHOW GRANTS语句用于查看用户的权限。

    SHOW GRANTS FOR 'username'@'localhost';
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Le`soleil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值