GBase 8a故障排查:密码重用安全策略导致DataState不一致且无法自动恢复

本文介绍一次GBase 8a数据库集群出现ddlevent不一致且无法自动恢复的故障排查过程,是由于密码安全策略设置导致。The password cannot be reused for user,涉及参数为 password_reuse_max。

报错信息

4节点对等集群,全部计算节点都有不一致的信息(DataState=1),查看ddlevent发现.user..root再所有节点都出现,但调度节点数据状态没问题。

排查

查看调度节点的express.log,发下如下报错信息:The password cannot be reused for user ‘root'@'%'

查看计算节点gnode配置文件,确实使用了密码重用策略,但调度节点没有设置。导致在修改密码时,调度节点执行成功,但计算节点失败,集群的故障自动恢复机制,记录了ddlevent,但由于计算节点安全设置,也无法自动恢复成功的。

解决方案

修改计算节点配置文件,将参数 password_reuse_max 改成0,然后重启服务。等集群自动恢复后,再根据要求恢复该参数。

该参数必须得重启服务才能生效。