MySQL 可以为用户设置密码的过期时间,在这之后用户就需要修改他们的密码才可以操作MySQL。
当一个应用的开发者需要访问数据库时,你可以使用一个黙认的密码来创建一个帐户,然后设置密码的过期规则。你可以将此密码告诉开发者,但是他们登录后需要修改密码后才能继续操作MySQL。
创建的所有帐户密码的过期时间都是存在default_password_lifetime变量中的,这个变量黙认情况下是禁用的:使用过期的密码创建一个用户。当开发者首次登录数据库时是无法执行任何SQL语句的,当执行操作时就会报
ERROR 1820 (HY000) 这样一样错误,也就是要在操作之前密码必须要使用ALTER USER 语句进行重置:mysql> CREATE USER ‘developer’@’%’ IDENTIFIED
WITH mysql_native_password AS
‘*EBD9E3BFD1489CA1EB0D2B4F29F6665F321E8C18’
PASSWORD EXPIRE;
Query OK, 0 rows affected (0.04 sec
shell> mysql -u developer -pcompany_pass
mysql: [Warning] Using a password on the command
line interface can be insecure.
Welcome to the MySQL monitor. Commands end with
; or \g.
Your MySQL connection id is 31
Server version: 8.0.3-rc-log
Copyright