Py学习  »  DATABASE

sql自学笔记(十二)——MySQL8.0版本的新特性(二)

itczt • 4 年前 • 481 次点击  

密码管理

MySQL8.0开始允许限制重复使用以前的密码
例如:

password - history = 3
它表示新密码不能和最近三次使用过的密码相同
password - reuse -interval = 90
它表示新密码不能和最近90天内使用过的密码相同
password - requie -corrent = ON
它默认是off,如果是ON,他表示修改密码时,需要当前用户的更正密码。

eg

查看相关的变量
show variables like 'password%'

如何启用上图密码的策略

方式一:修改配置文件

vi  /etc/my.cf

设置全局变量

set global

这个命令的问题:只对当前进程有效,当服务器重启时,这个改变就会丢失

sht persist password - history = 6;

这个命令不存在上述问题
显示相关变量

show variables like 'password%';

方式二:

more /var/lib/mysql/mysqld - auto.cnf

通过用户级别设置
例:

alter user 'tony'@'%' password history 5;

通过表来查询


查询password - reuse - history参数
select user,host,password - reuse - history from mysql.user;
修改用户密码,改为重复的
alter user 'tony'@'%' indentified by 'Tony@2019';
查看密码历史记录的位置
desc mysql.password - history;
查看策略限制的效果
select * from mysql.password - history;
查看另一个参数,设置为ON
set persist password - require - current = ON;
修改密码
alter user 'tony'@'%' identified by 'Tony@2020'

注:当都是用root用户,可以直接修改这个密码

select user90

实际上这只是这个策略的一个例外。

当使用普通用户时

alter user user(),identified by 'Tony@2021';

他会提示提供当前密码后才能修改当前的用户密码
改为

alter user user() identified by 'Tony@2021' replace 'Tony@2020';

这样就不会提示错误。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/32419
 
481 次点击