访问obproxy 2883端口不加#集群名报login错误,但其他集群可以不加#集群名能login

【产品名称】

obproxy

oceanbase企业版

【产品版本】

obproxy-1.8.6-20210210153306.el7.x86_64

OceanBase 3.1.1 (r20210531173548-dacb0169a4c84801ba191c4e087eab8c996ffc63)

【问题描述】

如图所示,两个集群,访问一个集群的obproxy的2883端口,不加**#集群名**就能成功;

下面的集群为另一个ob集群,必须加**#集群名才能登录成功,是否有参数控制访问obproxy是否必须加#集群名**

登录 obclient -h${obproxy_ip} -P${obproxy_port} -uroot@sys -A -c -p

Q1查看 select user,host,password from mysql.user where user='proxyro';


登录 obclient -h${obproxy_ip} -P${obproxy_port} -uroot@proxysys -A -c -p

Q2查看 show proxyconfig like 'obproxy_sys_password';

确认Q1和Q2的密码是否一致,如果是odp方式部署的,麻烦也提供一下有问题的集群对应的yaml文件内容。

###obproxy相关的参数

- name: cluster_name

 require: false

 type: STRING

 need_restart: true

 description_en: observer cluster name

 description_local: 代理的observer集群名


MySQL [(none)]> show proxyconfig like 'rootservice_cluster_name' \G

*************************** 1. row ***************************

     name: rootservice_cluster_name

    value: myob_test

     info: default cluster name for rootservice_list

 need_reboot: true

visible_level: SYS

1 row in set (0.001 sec)

###observer相关的参数

show parameters like 'cluster';

在yaml文件中observer对应的 appname,在部署后对应cluster这个参数,要和obproxy部分指定的cluster_name一致。

因为一个OBProxy可以同时为多个OB集群提供服务,所以当有多个集群的时候,在连接OBProxy是需要指定集群的名称。

谢谢 因为rootservice_cluster_name没设导致的,已修改解决