mysql用户的禁用与有效期设置
Write by lyc at 2020-11-30
参考博文:MySQL–禁用账号和设置账号有效期
1.MySQL 不同版本禁用账号的方式
在MySQL 5.7 版本之前(MySQL5.5/5.6),不能对账号进行锁定或设置过期,只能通过更新密码来实现。
在MySQL 5.7版本中,可以通过两种方式禁用账户:
- 设置账号自动过期时间
- 锁定账号
2.MySQL5.7 设置账号过期
从MySQL 5.7.10开始,参数 default_password_lifetime
默认值从0变更为360,即一年有效期。
1 | # 修改默认自动过期时间: |
3.MySQL5.7 锁定账号
立即生效,无需刷新权限表(无需 flush privileges;
)
1 | # 锁定 |
4.我在什么环境下使用过这个功能
外网线上有两套mysql数据库,正式库与测试库。为了QA测试能够更好的模拟线上环境测试,又不影响正式库数据,在业务低谷期间会把正式库的数据同步到测试库。
同样的正式和测试服务器的应用程序分别连正式和测试mysql,区别是mysql用户不同。比如测试站连 test@host
测试用户 test@host
在正式库的状态是 ACCOUNT LOCK;
的,执行数据同步完成后,脚本只需要再测试库对 test@host
解锁 ACCOUNT UNLOCK
即可。测试机的应用即便是配错,连到正式库也无法连接成功。