【转】GaussDB T 用户密码过期问题(GS-00327:The user password has expired)
(1)sys密码用户超期
1、因连接不上数据库,则需要到配置文件zengine.ini文件中将ENABLE_SYSDBA_LOGIN=TRUE(启用免密);
2、kill数据库重启;
3、使用zsql / as SYSDBA或者conn / as SYSDBA -D /opt/zenith/data/instance免密登录数据库;
4、执行alter user sys identified by 'new_password' replace 'old_password';之后,再使用新密码重新连接数据库;
5、如果步骤4中修改密码后,想使用原密码,则可以将密码修改回去;
1)查询sys用户对应的profile:select * from DBA_USERS where USERNAME = 'SYS';
2)将当前SYS对应的PROFILR的PASSWORD_REUSE_TIME改为UNLIMITED:SELECT * FROM dba_profiles WHERE profile='DEFAULT';
3)将密码修改为新的密码new_passwd(old_passwd->new_passwd),再将密码修改回原来的密码old_passwd(new_passwd->old_passwd);
ALTER USER zhanglei1 IDENTIFIED BY 'Admin@100' replace 'Changeme_100';
(2)其他用户用sys用户按照上述步骤(4-5)修改;
(3)将所有密码超期的用户密码重新设置为原来的密码(sys用户可用)
1、用sys连接数据库;
zsql sys/Admin@123@IP:port
2、将当前PASSWORD_REUSE_TIME != UNLIMITED的PROFILE的PASSWORD_REUSE_TIME修改为PASSWORD_REUSE_TIME = UNLIMITED为后续密码修改准备(将拼接的SQL全部执行,并commit);
SELECT 'ALTER PROFILE ' ||PROFILE||' LIMIT PASSWORD_REUSE_TIME UNLIMITED;' FROM DBA_PROFILES where RESOURCE_NAME = 'PASSWORD_REUSE_TIME' AND THRESHOLD != 'UNLIMITED';
3、将用户的旧密码用新密码代替(将拼接的SQL全部执行,并commit);
SELECT 'ALTER USER ' ||USERNAME||' IDENTIFIED BY ''Admin@100'' REPLACE ''Changeme_100'';' FROM DBA_USERS where ACCOUNT_STATUS = 'EXPIRED';
4、将用户的上一步修改的新密码,再用旧密码还原(将拼接的SQL全部执行,并commit);
SELECT 'ALTER USER ' ||USERNAME||' IDENTIFIED BY ''Changeme_100'' REPLACE ''Admin@100'';' FROM DBA_USERS where ACCOUNT_STATUS = 'EXPIRED';
5、commit;
- 点赞
- 收藏
- 关注作者
评论(0)