MySQL学习笔记-数据控制语言
SQL-数据控制语言(DCL)
DCL语句用于管理数据库用户,控制数据库的访问权限
一. 管理用户#
1. 查询用户#
# 访问mysql数据库
use mysql;
#查询user表
select * from user;
- 主机地址(Host)和用户名一起才能完整定位用户。
- 主机地址(Host)指当前用户只能够在哪个主机上访问服务器。
2. 创建用户#
create user {'用户名'}@{'主机名'} identified by {'密码'};
- 用户名、主机名、密码需要引号。
- 主机名为 '%' (通配符)时表示可以在任意主机访问。
实践时出现密码强度不够不给创建用户的情况,
去学习了如何改密码限制:
# 查看当前安全变量值
SHOW VARIABLES LIKE 'validate_password%';
# 修改变量
set global validate_password.policy=0;
set global validate_password.length=4;
# terminal执行
mysql_secure_installation
这样就可以设置成'123456'这种弱密码了。
3. 修改用户密码#
alter user {'用户名'}@{'主机名'} identified with mysql_native_password by {'新密码'};
4. 删除用户#
drop user {'用户名'}@{'主机名'};
二. 权限控制#
- 用户在刚创建时候默认没有权限,需要授予权限后才能使用。
- 常用权限:
- 多个权限之间,使用逗号分隔。
- 授权时,数据库名和表名可以使用 * 进行通配,表示所有。
1. 查询权限#
show grants for {'用户名'}@{'主机名'};
2. 授予权限#
grant {权限列表} on {数据库名}.{表名} to {'用户名'}@{'主机名'};
- {数据库名}.{表名} 为 * .* 时为全部数据库全部表。
3. 撤销权限#
revoke {权限列表} on {数据库名}.{表名} from {'用户名'}@{'主机名'};
作者:YellowSea
出处:https://www.cnblogs.com/yellowsea/p/17155303.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!