12.用户管理
用户权限类别
MySQL是一个多用户的数据库系统,按权限,用户可以分两种:
- root超级用户:超级管理员
- 普通用户:root用户创建的普通用户
用户管理
- 创建用户:
CREATE USER username IDENTIFIED BY 'password';
- 查看用户:
SELECT USER,HOST FROM MYSQL.USER;
权限管理
刷新权限:FLUSH PRIVILEGES;
删除权限:DEOP USER 'username'@'localhost';
登陆主机的类别
-
%:匹配所有主机 。
-
localhost :不会被解析成IP地址,直接通过UNIX socket连接 。
-
127.0.0.1:只能在本机访问
-
::1:兼容IPV6,等同于IPV4的127.0.0.1
权限
GRANT 权限 ON 数据库.表 TO 用户@登陆主机 IDENTIFIED BY 'password';
权限 | 权限级别 | 权限说明 |
---|---|---|
CREATE | 数据库、表或索引 | 创建数据库、表或索引权限 |
DROP | 数据库或表 | 删除数据库或表权限 |
GRANT OPTION | 数据库、表或保存的程序 | 赋予权限选项 |
REFERENCES | 数据库或表 | |
ALTER | 表 | 更改表,比如添加字段、索引等 |
DELETE | 表 | 删除数据权限 |
INDEX | 表 | 索引权限 |
INSERT | 表 | 插入权限 |
SELECT | 表 | 查询权限 |
UPDATE | 表 | 更新权限 |
CREATE VIEW | 视图 | 创建视图权限 |
SHOW VIEW | 视图 | 查看视图权限 |
ALTER ROUTINE | 存储过程 | 更改存储过程权限 |
CREATE ROUTINE | 存储过程 | 创建存储过程权限 |
EXECUTE | 存储过程 | 执行存储过程权限 |
FILE | 服务器主机上的文件访问 | 文件访问权限 |
CREATE TEMPORARY TABLES | 服务器管理 | 创建临时表权限 |
LOCK TABLES | 服务器管理 | 锁表权限 |
CREATE USER | 服务器管理 | 创建用户权限 |
PROCESS | 服务器管理 | 查看进程权限 |
RELOAD | 服务器管理 | 执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限 |
REPLICATION CLIENT | 服务器管理 | 复制权限 |
REPLICATION SLAVE | 服务器管理 | 复制权限 |
SHOW DATABASES | 服务器管理 | 查看数据库权限 |
SHUTDOWN | 服务器管理 | 关闭数据库权限 |
SUPER | 服务器管理 | 执行kill线程权限 |
示例
# 为 u_sxt 用户分配只能查询 bjsxt 库中的 emp 表,并且只能在本机登陆的权限,密码是sxt。 GRANT select ON bjsxt.emp TO 'u_sxt'@'localhost' IDENTIFIED BY 'sxt';
示例
# 删除u_sxt用户 DROP USER 'u_sxt'@'localhost';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现