obproxy密码配置问题

通过后台sql命令:
连接obproxy实例:

alter proxyconfig set obproxy_sys_password = 'aaAA11__';

连接observer实例:

alter user proxyro  identified by 'aaAA11__';

修改了obproxy的 root@proxysys 密码和obproxy连接observer的proxyro账号的密码

同时通过obd cluster edit-config obdemo 修改了yaml配置文件中的
oceanbase-ce.proxyro_password:aaAA11__
obproxy-ce.obproxy_sys_password:aaAA11__

然后成功起集群,报如下错误:

[2024-06-13 20:20:21.461] [DEBUG] ---- connect 10.xx.xx.126 -P2883 -uroot@proxysys -pobdemoobproxy
[2024-06-13 20:20:24.464] [DEBUG] ---- connect 10.xx.xx.126 -P2883 -uroot@proxysys -p
[2024-06-13 20:20:27.468] [ERROR] OBD-1006: Failed to connect to obproxy-ce
[2024-06-13 20:20:27.468] [DEBUG] --- sub connect ref count to 0
[2024-06-13 20:20:27.469] [DEBUG] --- export connect
[2024-06-13 20:20:27.535] [INFO] [ERROR] OBD-1006: Failed to connect to obproxy-ce

obdemoobproxy 为修改之前的老密码,为什么这里没有更新呢?

root@proxysys 的密码需要做 SHA1 加密处理,不能直接在这里设置明文。

问题是修改完后,可以直接用新密码root@proxysys/aaAA11__ 登录。

mysql> show proxyconfig like '%sys_password%';
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+
| name                   | value                                    | info                           | need_reboot | visible_level |
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+
| observer_sys_password1 |                                          | password for observer sys user | false       | SYS           |
| observer_sys_password  | ce77bdb3aad23ee556c638ea6ed86bad4949f676 | password for observer sys user | false       | SYS           |
| obproxy_sys_password   | ce77bdb3aad23ee556c638ea6ed86bad4949f676 | password for obproxy sys user  | false       | SYS           |
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+
3 rows in set (0.01 sec)

发现另外一个奇怪的问题:


admin@ubuntu:~$ mysql -uroot@sys -h10.xx.xx.126 -P2883 -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1814036662
Server version: 5.6.25 OceanBase_CE 4.3.0.1 (r100000242024032211-0193a343bc60b4699ec47792c3fc4ce166a182f9) (Built Mar 22 2024 13:07:59)

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> alter user proxyro  identified by 'aaAA11__';
Query OK, 0 rows affected (1.00 sec)

mysql> quit
Bye
admin@ubuntu:~$ mysql -uproxyro@sys -h10.xx.xx.126 -P2883 -p
Enter password: 
ERROR 1045 (42000): Access denied for user 'proxyro@sys'@'10.12.73.126' (using password: YES)


admin@ubuntu:~$ mysql -uproxyro@sys -h10.xx.xx.126 -P2881 -p
Enter password: 
Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

需要修改 proxyconfig 中的 observer_sys_password,也是 SHA1 加密后的值

不是很明白,有没有相关的文档或者demo,谢谢!

你好,可以参考一下这个参数的文档。另外,你的 obproxy 是怎么部署的呢?

https://www.oceanbase.com/docs/common-odp-doc-cn-1000000000755676

这个文档无法解决我的问题,obproxy是黑屏部署的,当时yaml中配置的密码是:obdemoobproxy,

obproxy_sys_password: obdemoobproxy

后来用命令修改了密码(如帖子所说),然后obd cluster edit-config {clustername} 修改了yaml的密码相关的配置,重启集群。

如果要修改 obd 部署的集群的信息,不能直接使用 ALTER 命令在连接里自己改,而是要用 obd edit-config 来改。你遇到的情况是自己绕过了 obd 修改了 obproxy_sys_password,但是 obd 不知道这个变动导致的。

对,obd不知道这个事情,但是又修改了yaml里面的相关配置了 还不可以?

不可以的,obd 发现当前数据库里的状态和原来的配置文件不一致就不会正常执行后面的步骤了

发现修改后,admin@ubuntu:~/.obd/cluster/{deployname}
会产生了一个tmp_config.yaml文件,一直存在,无论如何重启都无法覆盖正式的config.yaml文件

重新部署一下吧,obd 支持管理的参数最好都不要手动更改,尤其是密码这种关键凭证。