为什么部署好的opb登录不了root@proxysys

【 使用环境 】 测试环境
【 OB or 其他组件 】
obproxy-4.3.5.0
【问题描述】清晰明确描述问题
命令行启动的obp,可以登录集群的租户用户。单身无法登录自己都管理用户root@proxysys。
【复现路径】问题出现前后相关操作
启动命令
./bin/obproxy -p 2883 -s 2885 -r [fc00:305:200:500a:73:0:d6d1:8c0b]:2881 -n hhobp -o skip_proxy_sys_private_check=true,observer_sys_password=2be1620dc9d4a7d3d4ebbdfb320335fed662ca10,obproxy_sys_password=2be1620dc9d4a7d3d4ebbdfb320335fed662ca10,enable_ipv6=true,ip_listen_mode=3,enable_cluster_checkout=false,enable_strict_kernel_release=false -c StandAlone

登录
#登录自己的管理用户
[admin@IV-manager obproxy-4.3.5.0]$ obclient -h 127.0.0.1 -u root@proxysys -P 2883 -p
Enter password:
ERROR 1235 (0A000): Not supported feature or function

#可以登录集群
obclient -h127.0.0.1 -P2883 -uroot@sys#StandAlone -p’密码’ -Doceanbase -A
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 1
Server version: OceanBase_CE 4.3.5.6 (r106000012026040916-560923b02bdb9ed88dbd7940ac97a2e183c09b29) (Built Apr 9 2026 17:50:45)

Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.
日志
obproxy.zip (1.6 MB)
为什么登录不成功,为什么obd工具不支持ipv6部署,为什么obproxy有关于ipv6的文档几乎没有!

4 个赞

OceanBase Deployer (OBD) 目前‌确实不支持将 OBServer 节点配置为 IPv6 地址进行部署。
若必须在 IPv6 网络环境中使用 OceanBase,可采取以下变通方案:

  1. ‌双栈环境部署:确保服务器同时启用 IPv4/IPv6 双栈,在 OBD 配置文件中填写服务器的‌IPv4 地址完成部署,依赖操作系统底层双栈能力进行通信;
  2. ‌手动修改配置(高风险):部署成功后,尝试手动修改集群内部配置文件及启动参数将监听地址改为 IPv6,但官方未验证此操作的稳定性,极易导致集群无法启动或脑裂,‌生产环境严禁尝试;
  3. ‌关注版本更新:该限制随版本迭代可能解除,建议查阅最新官方文档或 GitHub 仓库确认是否有实验性分支支持 IPv6 部署。‌‌
1 个赞
  • IPv6 在 OBProxy 里是 4.3.4 之后才比较完整支持(enable_ipv6ip_listen_mode=3 都是新参数)

  • 官方主力文档路径还是 IPv4 + OBD/OCP 白屏部署,IPv6 多出现在 OCP 添加主机章节和零散博客,命令行 RSList 模式下的 IPv6 样例很少

  • 你这种"纯命令行 + StandAlone + IPv6 + proxysys"组合,属于文档真空区,只能看 obproxy --helpshow proxyconfig 反推

OBD 的配置校验器目前只认 IPv4 格式(_deploy.py 里正则写死),Observer 本身 4.2.5+/4.3.5 BP2+ 是支持 IPv6 的,但 OBD 在 yaml 解析阶段就把 IPv6 判为非法,所以"OBD 部署"走不通,只能:

  • 手动命令行拉 observer / obproxy(就像你现在做的)

  • 或改 OBD 源码去掉 IPv4 限制

1235 不是密码错,而是 StandAlone 模式下 root@proxysys 没带 #StandAlone + 启动参数把 hash 当明文 + skip_private_check 不解决路由拒绝​ 三者叠加;用 root@proxysys#StandAlone + 空密码(或重启用空 password 启动)就能进管理面,进去再 alter proxyconfig set 补明文密码。

mark~~

关于OceanBase的问题,obproxy确实是一个重要的考虑因素。在实际应用中,我发现or方法通常更有效。