ocp新部署的obproxy没有设置observer_sys_password密码?

发现这样一个错误,但是密码确实是一样的:
[2024-06-18 09:47:23.821368] WDIAG [PROXY.SM] print_mysql_complete_log (ob_mysql_sm.cpp:5906) [20539][Y0-00007F95205909C0] [lt=0] [dc=0] finishing mysql tunnel((sm_id=299376, cs_id=2147667756, proxy_sessid=9151315546812383356, ss_id=124, server_sessid=3221589785, client_ip={Not IP address [0]:0}, server_ip={10.xx.xx.64:2881}, server_trace_id=, proxy_user_name=proxyro@sys#obdemo, database_name=, is_flow_controlled=false, cpu_flow_control_count=0, memory_flow_control_count=0, sql=, sql_cmd=“Login”, result={is_trans_completed:true, is_resp_completed:true, ending_type:2, is_partition_hit:true, has_new_sys_var:false, has_proxy_idc_name_user_var:false, is_server_db_reset:false, reserved_len:0, connection_id:0, scramble_buf:"", is_resultset_resp:false, server_capabilities_lower_.capability:0, ok_packet_action_type:2, last_ok_pkt_len:12, rewritten_last_ok_pkt_len:0, extra_info:{is_exist_sess_info:false, sess_info_count:0, extra_len:0}, error_pkt:field_count:255, errcode:1045, sqlstate:“42000”, message:“Access denied for user ‘proxyro’@‘xxx.xxx.xxx.xxx’ (using password: YES)”})

admin@ubuntu:~/obproxy/log$ mysql -uproxyro@sys -h10.xx.xx.64 -P2881 -paaAA11__ -e "show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| oceanbase          |
+--------------------+

加上集群名字就会报错:

admin@ubuntu:~/obproxy/log$ mysql -uproxyro@sys#obdemo -h10.xx.xx.64 -P2881 -paaAA11__ -e "show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (42000): Access denied for user 'proxyro'@'xxx.xxx.xxx.xxx' (using password: YES)

加集群名称改为2883端口。
mysql -uproxyro@sys#obdemo -h10.xx.xx.64 -P2883 -paaAA11__ -e “show databases;”
是什么情况呢。

@秃蛙 呼叫大佬,这个怎么样了?

稍等。问题确认后会回复您的。

请稍等,目前还有几个疑点还在确认中。

问题已经确认。

OCP 部署OBProxy的时候 需要录入proxyro@sys密码信息,但如果是4.x版本的obproxy是使用默认的密码。下图的录入密码信息会在选择部署版本时校验并屏蔽掉。

因此如果修改过proxyro@sys的密码就会出现登录不上租户的问题。

登录不上的原因主要是:
root@proxysys租户登录 查看proxyro密码信息

select * from proxy_config where name like '%password%';


黄框的是ocp部署obproxy,关联集群时,默认的集群级别 proxyro 密码。
红线的是observer里proxyro的密码,两者不一致会出现登录失败问题。
登录失败的时候,实际obproxy日志提示出失败原因了,proxyro密码验证不通过。

所以修复方式:
1)ocp上在obproxy集群中解除关联的OB集群连接


2)ocp上到对应ob集群sys租户下的 用户管理 中修改proxyro的密码,例如aaAA11__

3)重新obproxy关联该集群连接即可。

再次登录proxysys 查询加密后的密码就是一样的了。

登录租户也是正常的。

1 个赞

已经调整成功,感谢!