数据库:DCL

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。

控制的内容:哪些用户可以访问该数据库和能访问数据库的用户可以访问哪些数据。

用户管理的语句

  1. 查询用户
    USE mysql;
    SELECT * FROM User;
  2. 创建用户
    CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
  3. 修改用户密码
    ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
  4. 删除用户
    DROP USER '用户名'@'主机名';

示例:

sql 复制代码
-- 创建用户
create user 'tester1'@'localhost' identified by '123456';
-- 创建用户,可以再任意主机访问该数据库
create user 'tester2'@'%' identified by '123456';

-- 修改用户密码
alter user 'tester1'@'localhost' identified with mysql_native_password by '1234';

-- 删除用户
drop user 'tester2'@'%';

权限控制

常用权限:

  1. 查询权限
    SHOW GRANTS FOR '用户名'@'主机名';
  2. 授予权限
    GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
  3. 撤销权限
    REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

示例:

sql 复制代码
-- 权限控制
-- 查询权限
show grants for 'tester1'@'localhost';      -- GRANT USAGE ON *.* TO `tester1`@`localhost`表示仅仅能登录并连接
-- 授权
grant all on sql1.* to 'tester1'@'localhost';
-- 撤销权限
revoke all on sql1.* from 'tester1'@'localhost';
相关推荐
MonolithIoT1 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
瞬间&永恒~1 小时前
【MySQL】4-6:在同一个主机上使用 systemd 运行多个 MySQL服务器
服务器·数据库·mysql
心机之蛙qee2 小时前
Redis的主从、哨兵及集群
数据库·redis·缓存
gwf2162 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
AAA@峥2 小时前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos
xixingzhe22 小时前
spring ai简单使用skills
数据库·人工智能·spring
Fu2067213 小时前
数据库第三次作业
数据库
AI多Agent协作实战派4 小时前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app
jun_bai4 小时前
postgresql数据库免安装版安装到windows系统
数据库·postgresql
weixin_538601974 小时前
智能体测开Day33
数据库·oracle