ODP升级失败 日志中报密码错误

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】使用 OCP 将 ODP4.2.3.0 升级ODP4.3.2, 在这个阶段出现超时错误

查看obproxy_error.log,发现出现密码错误情况,这个是什么密码错误。之前已经修改了ODP的root@proxysys 的密码,并且在OCP凭据中都已经更新验证成功了。

【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

2 个赞

根据文档库中的信息,您遇到的 ODP 升级失败且日志中报密码错误的问题,可能是由于以下几个方面导致的:

  1. ODP 中 observer_sys_password 设置的密码和 OceanBase 数据库中 proxyro 用户的密码不一致

    • 请确保 ODP 中设置的 observer_sys_password 参数与 OceanBase 数据库中 proxyro 用户的密码一致。如果不一致,ODP 无法通过该用户与 OBServer 节点保持通信。
    • 解决方法:
      1. 通过直连的方式连接 OceanBase 数据库后修改 proxyro 用户的密码,使之与启动 ODP 时设置的 observer_sys_password 参数密码一致。
        ALTER USER proxyro IDENTIFIED BY 'password';
        
      2. 使用 root@proxysys 账号登录 ODP,修改 proxyro@sys 的密码,修改后需要重启。
        alter proxyconfig set observer_sys_password = 'password';
        
  2. ODP 中 obproxy_sys_password 设置的密码和 root@proxysys 用户的密码不一致

    • 请确保 ODP 中设置的 obproxy_sys_password 参数与 root@proxysys 用户的密码一致。如果不一致,ODP 无法通过该用户与 OBProxy 节点保持通信。
    • 解决方法:
      1. 使用 root@proxysys 账号登录 ODP,修改 obproxy_sys_password 的密码。
        alter proxyconfig set obproxy_sys_password = 'password';
        
  3. OCP 凭据中更新的密码未生效

    • 请确保在 OCP 中更新的凭据已经正确应用。有时候凭据更新后需要重启相关服务才能生效。
    • 您可以尝试重启 OCP 和 ODP 服务,确保新的凭据生效。
  4. 日志中的其他错误信息

    • 请仔细查看日志中的其他错误信息,确保没有其他配置或网络问题导致的连接失败。

综上所述,建议您按照上述步骤逐一排查并解决问题。如果问题仍然存在,建议您联系 OceanBase 的技术支持团队获取进一步的帮助。

具体信息可参考以下文档:

  1. 登录 OceanBase 云平台
  2. 修改登录密码
  3. 使用图形化界面升级 OCP
  4. OCP V3.2.3
  5. 使用 OCP 部署 ODP
  6. 通过命令行部署 ODP
  7. 使用 obd 部署 ODP
  8. 安全和协议
  9. 使用限制
  10. ODP 传输加密
  11. 使用命令行部署 OceanBase 数据库生产环境
  12. SET ENCRYPTION
2 个赞

麻烦下载完整的任务日志发下

2 个赞

obproxy_error.7z (7.4 MB)
obproxy error 如上

2 个赞

obproxy还能连接么?如果可以 你测试一下用户root@proxysys和proxyro@sys是否密码有误

2 个赞

可以,这两个用户都修改了密码,修改后黑屏连接都可以连

2 个赞

命令行修改完这两个用户密码后还需要修改什么吗?

2 个赞

ocp上凭据管理 proxyro@sys 可以验证通过吗?

2 个赞

根据您的描述,您已经成功修改了 proxyroroot@proxysys 用户的密码,并且通过黑屏连接可以正常登录。接下来,您需要确保这些密码变更在 ODP 和 OCP 中也生效。以下是具体的步骤:

  1. 更新 ODP 配置

    • 确保 ODP 中的 observer_sys_passwordobproxy_sys_password 参数已经更新为新的密码。
    • 通过 root@proxysys 账号登录 ODP,修改 observer_sys_passwordobproxy_sys_password 参数。
      alter proxyconfig set observer_sys_password = 'new_password';
      alter proxyconfig set obproxy_sys_password = 'new_password';
      
    • 修改完成后,重启 ODP 服务以使配置生效。
      obd cluster restart <cluster_name>
      
  2. 更新 OCP 凭据

    • 登录 OCP 控制台,进入相应的集群管理页面。
    • 更新 root@proxysysproxyro 用户的凭据。
    • 保存并应用新的凭据。
    • 重启 OCP 服务以确保新的凭据生效。
  3. 验证连接

    • 确认 ODP 和 OCP 服务重启后,能够正常连接到 OceanBase 数据库。
    • 检查 ODP 和 OCP 的日志,确保没有密码相关的错误信息。
  4. 检查 ODP 配置文件

    • 确认 ODP 配置文件中的相关密码字段已经更新。
    • 通常,ODP 配置文件位于 /home/admin/obproxy/conf/ 目录下,文件名为 obproxy.conf 或类似的配置文件。
    • 编辑配置文件,确保 observer_sys_passwordobproxy_sys_password 字段的值与您在数据库中设置的新密码一致。
  5. 重启相关服务

    • 为了确保所有配置生效,建议重启 ODP 和 OCP 服务。
      obd cluster restart <cluster_name>
      

通过以上步骤,您可以确保 ODP 和 OCP 中的密码配置与数据库中的密码一致,从而避免因密码不匹配导致的连接问题。

如果您在执行上述步骤过程中遇到任何问题,建议您查看相关服务的日志文件,以便更好地定位和解决问题。如果问题仍然存在,建议您联系 OceanBase 的技术支持团队获取进一步的帮助。

更多信息请查看:

  1. SET PASSWORD
  2. 使用 systemd 部署 OceanBase 数据库
  3. ALTER USER
  4. RENAME USER
  5. 为已有表设置透明加密
  6. 为新创建的表设置透明加密
  7. 修改租户密码
  8. RPC 连接认证

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

2 个赞

OCP上ODP没有这个凭据,只有root@proxysys 的凭据

2 个赞

可以添加下

2 个赞

你当时修改密码 是黑屏化修改的 还是ocp白屏化修改的 ob集群是obd白屏化部署的么?

2 个赞

黑屏修改,OB是OCP安装的

1 个赞

刚才没仔细看,这个凭证有,并且验证是成功的

1 个赞

observer_sys_password 这个密码也要改吗?

我这次操作是升级obproxy ,但是问题报的是 ocp 连不上 ob server 2881 端口。

1 个赞

ocp 节点:10.38.14.21
obproxy 有:10.38.14.23、24、25、26 4个节点。
这次是升级 obproxy 其中一个节点 10.38.14.23,
OCP任务 到了 “Wait hot restart obproxy finish” 任务,报错了,
错误是

2024-11-20 15:27:42.435059,obproxy,CatlCloudDBtst:sys:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,1045,902us,269us,0us,603us,Y0-00007F3C72949960,10.38.14.21:19332,0,10.38.14.24:2881,Access denied for user ‘root’@‘xxx.xxx.xxx.xxx’ (using password: YES),

2024-11-20 15:42:42.490155,obproxy,CatlCloudDBtst:sys:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,1045,928us,346us,0us,554us,Y0-00007F3C22726830,10.38.14.21:63162,0,10.38.14.23:2881,Access denied for user ‘root’@‘xxx.xxx.xxx.xxx’ (using password: YES),

2024-11-20 15:48:42.532676,obproxy,CatlCloudDBtst:sys:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,1045,1395us,469us,0us,898us,Y0-00007F3C4A7376F0,10.38.14.21:24808,0,10.38.14.25:2881,Access denied for user ‘root’@‘xxx.xxx.xxx.xxx’ (using password: YES),

1 个赞

不推荐使用黑屏修改proxyro的密码 应该是你黑屏修改的密码 没有把修改的密码全部修改完 导致 下面的这个文档是proxyro密码的文档 你看看

proxyro 用户的密码信息都保存在哪里

https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000988450?back=kb

1 个赞

我之前也遇到过这个问题,但是点重试就好了,不知道什么原因呢

1 个赞

ocp.ops_config,这张表如何手动更新,目前OCP修改proxyro密码修改不了

1 个赞