1. 介绍
DCL英文全称是Data Control Language(数据控制语言), 用来管理数据库 用户、控制数据库的访问权限。
2. DCL 管理用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | -- 1. 查询用户 USE mysql; SELECT * FROM user ; -- 2. 创建用户 CREATE USER '用户名' @ '主机名' IDENTIFIED BY '密码' ; -- 案例: -- 创建用户 itcast, 只能够在当前主机localhost访问,密码123456 CREATE USER 'itcast' @ 'localhost' IDENTIFIED BY '123456' ; -- 创建用户 heima, 可以在任意主机访问该数据库,密码123456; CREATE USER 'heima' @ '%' IDENTIFIED BY '123456' ; -- 3. 修改用户密码 ALTER USER '用户名' @ '主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ; -- 案例: -- 修改用户 heima 的访问密码为1234 ALTER USER 'heima' @ '%' IDENTIFIED WITH mysql_native_password BY '1234' ; -- 4. 删除用户 DROP USER '用户名' @ '主机名' -- 案例: -- 删除itcast@localhost用户 |
注意:
- 主机名可以使用%通配
- 这类SQL开发人员操作的比较少,主要是DBA(Database Administrator 数据库管理员)操作
3. DCL权限控制
1 2 3 4 5 6 7 8 9 10 11 12 | -- 1. 查询权限 SHOW GRANTS FOR '用户名' @ '主机名' ; -- 示例 SHOW GRANTS FOR 'heima' @ '%' ; -- 2. 授予权限 GRANT 权限列表 ON 数据库名.表名 TO '用户名' @ '主机名' ; -- 示例 GRANT ALL ON itcast.* TO 'heima' @ '%' ; -- 3. 撤销权限 REVOKE 权限列表 ON 数据库名.表名 FROM '用户名' @ '主机名' ; -- 示例 REVOKE ALL ON itcast.* FROM 'heima' @ '%' ; |
注意:
- 多个权限之间,使用逗号分隔
- 授权时,数据库名和表情可以使用*进行通配,代表所有
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-02-01 Ansible-playbook