MySQL 8.0用户和角色管理数据库

来源:互联网 / 作者:SKY / 2018-05-03 15:29 / 点击:
MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设置

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的官方文档,通过官方的示例来查看新的管理方式。

MySQL 8.0用户和角色管理

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

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,禁用自动密码过期。如果值default_password_lifetime正整数N,则表示允许的密码生存期,以便密码必须每天更改N。可以加在配置文件中:

1:要建立全局策略,密码的使用期限大约为六个月,请在服务器my.cnf文件中使用以下行启动服务器:

[mysqld]  

default_password_lifetime=180 

2:要建立全局策略,以便密码永不过期,请将其设置default_password_lifetime为0:

[mysqld]  

default_password_lifetime=0 

这个参数是可以动态设置并保存的:

SET PERSIST default_password_lifetime = 180;  

SET PERSIST default_password_lifetime = 0; 

创建和修改带有密码过期的用户,帐户特定的到期时间设置示例:

要求每90天更换密码:

CREATE USER 'wangwei'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY 

阅读延展

1
3