案例说明:
KingbaseES V8R3集群在通过sys_md5修改SYSTEM用户密码时出现异常“invalid password length in cluster_passwd file”。
适用版本:
KingbaseES V8R3
一、问题现象
ksql访问集群9999端口,提示“md5 authentication failed”:
kingbasecluster服务端口9999的用户认证,是通过kingbasecluster/etc/cluster_passwd文件保存用户的认证口令,并且口令通过md5加密,如下所示:
[kingbase@node201 etc]$ cat cluster_passwd
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53afebd0fba6df9fc2cf82c0b09926bcc
# 用户的口令必须和数据库登录的口令一致,如果此口令和数据库登录口令不一致,
必须通过sys_md5重建。
二、问题分析
cluster_passwd中保存用户的口令必须和数据库登录的口令一致,如果此口令和数据库登录口令不一致,必须通过sys_md5重建。
1、执行sys_md5重建密码
如下所示,重建密码出现“invalid password length in cluster_passwd file”错误:
2、查看cluster_passwd文件
如下所示,SYSTEM用户密码为:SYSTEM:md5,不符合密钥长度要求:
测试复现:
三、问题解决
如下所示,将cluster_passwd文件中的错误的行删除后,重建密码:
[kingbase@node201 etc]$ cat cluster_passwd
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53afebd0fba6df9fc2cf82c0b09926bcc
sys_md5重建密钥:
[kingbase@node201 etc]$ ../bin/sys_md5 -m -f kingbasecluster.conf -u SYS 123456
如下所示,SYS用户密钥创建成功:
[kingbase@node201 etc]$ cat cluster_passwd
SUPERMANAGER_V8ADMIN:md5f7902af5f3f7cdcad02b5ca09320d102
SYSTEM:md53afebd0fba6df9fc2cf82c0b09926bcc
SYS:md59fe4d6d55b6ea2b67187c8213ac00499
四、总结
Kingbasecluster服务9999端口的用户认证口令保存在cluster_passwd文件中,用户的口令必须和数据库登录的口令一致,如果不一致,可以通过sys_md5修改用户口令。