=======================================================================
MySQL5.5/5.6版本
在MySQL 5.7 版本之前,不能对账号进行锁定或设置过期,只能通过更新密码来实现。
SELECT concat('UPDATE `mysql`.`user` SET PASSWORD=''*9999999999999999999999999999999999999999''' ,' WHERE HOST=''',HOST, ''' AND USER=''',USER,''';') AS UpdateScript FROM mysql.user WHERE USER='repl';
=======================================================================
MySQL5.7版本
在MySQL 5.7版本中,可以设置MySQL账号自动过期时间,从MySQL 5.7.10开始,参数default_password_lifetime默认值从0变更为360,即一年有效期。
## 修改默认自动过期时间: SET GLOBAL default_password_lifetime = 0; ## 设置用户密码过期 ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE; ## 设置用户密码永不过期 ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE NEVER; 在MySQL 5.7 版本中,可以通过账号锁定来禁用账号。 ALTER USER 'jeffrey'@'localhost' ACCOUNT LOCK; ALTER USER 'jeffrey'@'localhost' ACCOUNT UNLOCK;
参考链接: https://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html https://dev.mysql.com/doc/refman/5.7/en/account-locking.html