mysql的用户和角色管理_MySQL 8.0用户和角色管理原理与用法详解

MySQL 8.0用户和角色管理。,具体如下:

MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,

默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设置,

这样方面用户的管理和权限的管理,也增加了用户的安全性。

MySQL8.0中,MySQL库中表的文件合并到数据根目录中的mysql.ibd中(MySQL8.0 Innodb引擎重构)。

同时MySQL8.0可以使用SET PERSIST动态修改参数并保存在配置文件中(mysqld-auto.cnf,保存的格式为JSON串),

这个是DBA同学的福音,不必担心设置之后忘记保存在配置文件中,重启之后会被还原的问题了。

查阅了MySQL8.0的官方文档,通过官方的示例来查看新的管理方式。

a8a73c825fd9d6aa8d072c873bd1c3a5.png

1、MySQL用户管理

1.1、验证插件和密码加密方式的变化在MySQL 8.0中,caching_sha2_password是默认的身份验证插件而不是之前版本的mysql_native_password,

默认的密码加密方式是sha2。

如果需要保持之前的验证方式并保持之前版本的密码加密方式需要在配置文件中修改,暂不支持动态修改,需要重启生效:default_authentication_plugin = mysql_native_password。

将8.0已有的sha2密码修改为sha1的模式:

ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'passowrd' PASSWORD EXPIRE NEVER;

#修改加密规则为永不过期

ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'password';

#更新一下用户的密码加密方式为之前版本的方式

FLUSH PRIVILEGES; #刷新权限

1.2 用户授权和修改密码

MySQL8.0的用户授权和之前有所区别,老版本的常用授权语句在8.0中会报错:

MySQL8.0之前版本:

GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` IDENTIFIED BY 'passowrd' WITH GRANT OPTION;

MySQL8.0版本:

# 创建账号密码

CREATE USER `wangwei`@`127.0.0.1` IDENTIFIED BY 'passowrd';

# 授予权限

GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` WITH GRANT OPTION;

# 删除权限

REVOKE all privileges ON databasename.tablename FROM 'username'@'host';

# 修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

MySQL8.0中带过期时间用户的创建:

CREATE USER `wangwei`@`127.0.0.1` IDENTIFIED BY 'wangwei' PASSWORD EXPIRE INTERVAL 90 DAY;

GRANT ALL ON *.* TO `wangwei`@`127.0.0.1` WITH GRANT OPTION;

MySQL8.0修改用户密码:

1.2、密码过期时间管理

要全局建立自动密码到期策略,请使用default_password_lifetime系统变量。其默认值为0,禁用自动密码过期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值