MySQL数据库干货_22——MySQL的用户管理

MySQL的用户管理

MySQL 是一个多用户的数据库系统,按权限,用户可以分为两种: root 用户,超级管理员,和由 root 用户创建的普通用户。

用户管理

创建用户

CREATE USER username IDENTIFIED BY 'password';

查看用户

SELECT USER,HOST FROM mysql.user;

示例:

创建一个 u_sxt 的用户,并查看创建是否成功。

create user u_sxt IDENTIFIED by 's';
select user,host from mysql.user;

权限管理

新用户创建完后是无法登陆的,需要分配权限。 GRANT 权限 ON 数据库.表 TO 用户名@登录主机 IDENTIFIED BY “密码”

登陆主机:

字段 含义
% 匹配所有主机
localhost localhost 不会被解析成 IP 地址,直接通过 UNIXsocket 连接
127.0.0.1 会通过 TCP/IP 协议连接,并且只能在本机访问
:: 1 ::1 就是兼容支持 ipv6 的,表示同 ipv4 的 127.0.0. 1

权限列表

权 限 作用范围 作 用
all [privileges] 服务器 所有权限
select 表、列 选择行
insert 表、列 插入行
update 表、列 更新行
delete 删除行
create 数据库、表、索引 创建
drop 数据库、表、视图 删除
reload 服务器 允许使用flush语句
shutdown 服务器 关闭服务
process 服务器 查看线程信息
file 服务器 文件操作
grant option 数据库、表、存储过程 授权
references 数据库、表 外键约束的父表
index 创建/删除索引
alter 修改表结构
show databases 服务器 查看数据库名称
super 服务器 超级权限
create temporary tables 创建临时表
lock tables 数据库 锁表
execute 存储过程 执行
replication client 服务器 允许查看主/从/二进制日志状态
replication slave 服务器 主从复制
create view 视图 创建视图
show view 视图 查看视图
create routine 存储过程 创建存储过程
alter routine 存储过程 修改/删除存储过程
create user 服务器 创建用户
event 数据库 创建/更改/删除/查看事件
trigger 触发器
create tablespace 服务器 创建/更改/删除表空间/日志文件
proxy 服务器 代理成为其它用户
usage 服务器 没有权限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password'

示例:

为 u 用户分配只能查询 bj 库中的 emp 表,并且只能在本机登陆的权限。

grant select ON bjsxt.emp to 'u'@'localhost' IDENTIFIED by 's';

刷新权限

每当调整权限后,通常需要执行以下语句刷新权限。

FLUSH PRIVILEGES;

删除用户

DROP USER username@localhost;

示例:

删除 u 用户。

drop user 'u'@'localhost';

你可能感兴趣的:(MySQL数据库_干货满满,数据库,mysql)