MySQL禁用账号

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

你可能感兴趣的:(MySQL禁用账号)