【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.6.0
【问题描述】无OCP,使用obshell dashboard进行管理,通过obshell dashboard进入业务租户后,提示root密码不正确。
【复现路径】按照AI助手的解决方案,尝试使用sys租户进行重置:
-
sys租户中使用ALTER USER root@tenant_name IDENTIFIED BY '新密码';,出现错误ERROR 1133 (42000): Can not find any matching row in the user table
-
通过ALTER SYSTEM CHANGE TENANT tenant;切换至业务租户,然后执行ALTER USER 'root' IDENTIFIED BY '新密码';,出现错误ERROR 1235 (0A000): tenant changed, statement not supported
【附件及日志】
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
2 个赞
论坛小助手
#3
根据您的描述,您在尝试重置OceanBase 4.0.6版本中业务租户root用户的密码时遇到了障碍,分别收到了两种不同的错误提示:使用sys租户执行操作时显示“无法在用户表中找到任何匹配的行”;而当直接用业务租户去尝试修改时,则被提示“租户已更改,不支持该语句”。这种情况下,建议首先收集关于当前OceanBase环境及问题的具体日志信息,这有助于更准确地定位问题根源。
日志采集场景: SQL执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env "{db_connect='-h<your_ip> -P2881 -usys@sys -p****** -Dsys', trace_id='自定义跟踪ID'}"
通过上述命令可以收集与SQL执行相关的详细日志,包括但不限于执行失败的具体上下文、涉及的操作记录等。请确保将命令中的<your_ip>替换为实际需要连接到的服务器IP地址,并设定一个合理的trace_id以追踪本次请求。此外,请提供以下额外信息以便我们进一步分析:
- 您所使用的具体OB版本号是多少?(尽管您已经提到了4.6.0,但确认一下总是好的)
- 尝试修改密码前,是否进行了任何特别配置或调整了安全设置?
- 使用的是哪种客户端工具进行的管理操作?(例如:OBD, OCP等)
- 是否存在其他异常现象,比如某些特定类型的查询突然变得很慢?
- 能否分享最近是否有对系统进行过重大更新或者改动?
希望这些信息能够帮助我们更快地解决您的问题。收集完毕后,请将生成的日志压缩包发给我们。谢谢!
附上敏捷诊断工具 obdiag 使用帮助链接
淇铭
#4
本机上验证一下 mysql -h127.0.0.1 -P<mysql_port> -uroot@ywzt -p
ob 业务租户 管理员密码遗忘或者 sys租户root密码遗忘 ,好像是没有重置办法。如果有ocp,通过 ocp重置是可以的。但如果 ocp 里root 密码已经不对了,那就没办法。
预防这种尴尬问题的方法可能就是在当初新建集群和租户的时候,再创建一个备用管理员用户(备用钥匙)。
大家有更好的办法吗?
感谢大家,好在环境还没有正式投入使用,逻辑备份后重建租户了