Mysql8.0 用户管理

2021-01-05  本文已影响0人  一万年不是尽头

密码加密方式变更

  1. 配置文件配置
[mysqld]
default_authentication_plugin = mysql_native_password
# 其他配置
****
  1. 创建用户(或修改用户)时指定加密方式
    创建用户
    create user '用户名'@'主机地址' identified with mysql_native_password by '密码';
    修改用户
    alter user '用户名'@'主机地址' identified with mysql_native_password by '新密码';

用户

创建用户

修改用户

修改密码

修改用户名

RENAME USER '旧用户'@'主机名' TO '新用户名'@'主机名';

角色(8.0新增)

创建角色

CREATE ROLE '角色名'@'主机名';
CREATE ROLE '角色名';

删除角色

DROP ROLE '角色名'@'主机';

强制角色

MySQL可以通过mandatory_roles 变量来配置强制性角色。使用强制性角色,服务器会为全部的账户默认赋予该角色,而不需要显示执行赋予角色。可用my.cnf(my.ini)文件或者使用SET PERSIST进行配置,例如:

[mysqld]
mandatory_roles='role1,role2@localhost'

SET PERSIST mandatory_roles = 'role1,role2@localhost;

角色生效

# 取消连接激活默认角色
set default role NONE to '用户名'@'主机'
# 链接时激活所有角色
set default role ALL to '用户名'@'主机'
# 链接时激活某个角色
set default role 角色名 to '用户名'@'主机'

权限

授权

直接给用户授权

mysql> grant 权限列表 on 库.表 to '用户名'@'主机地址';
mysql> flush privileges;
权限 作用范围 作用
all 服务 所有权限
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 SELECT on test.* to 'test'@'%';
grant SELECT, INSERT on test.* to 'test'@'%';

取消用户授权

REVOKE 权限列表 ON 库.表 FROM '用户名'@'主机名';

给角色授权(新)

grant 权限列表 on 库.表 to 角色名

分配用户角色(新)

grant '角色名' to '用户名'@'主机名';

取消用户角色(新)

revoke '角色名' from '用户名'@'主机名';

取消角色授权(新)

revoke 权限列表 on 库.表 from '角色名';

查询权限

查询当前登陆用户权限

show grants;

查询其他用户权限

show grants for '用户名'@'主机';

Grants for test@127.0.0.1
GRANT USAGE ON *.* TO `test`@`127.0.0.1`
GRANT ALL PRIVILEGES ON `eway_ims`.* TO `test`@`127.0.0.1`
GRANT `test`@`%` TO `test`@`127.0.0.1`(返回结果中,像此条结果就是该用户授予的角色)

查询角色权限

show grants for '角色名';

查询用户某个角色的权限

show grants for '用户名'@'主机' using '角色名';

最后

修改完权限前往不要忘记 flush privileges;

修改完权限前往不要忘记 flush privileges;

修改完权限前往不要忘记 flush privileges;

原创不易,点个赞再走吧。。。。

上一篇 下一篇

猜你喜欢

热点阅读