【 使用环境 】测试环境
【 OB or 其他组件 】obproxy
【 使用版本 】4.2.3.0-3
【问题描述】在读文档时https://www.oceanbase.com/docs/common-odp-doc-cn-1000000000755438发现有这么一句”使用 root 用户登录数据库的 proxysys 租户,打开弱读阈值相关配置“,这个proxysys 是什么租户呢,创建集群和obproxy并没有看到这么一个租户
【复现路径】无
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
proxysys不是个租户,是proxy的管理用户
ODP 有两个特殊的账号:root@proxysys
和 proxyro@sys
,这里 root@proxysys
是 ODP 的管理员账号,proxyro@sys
是 ODP 访问 OceanBase 数据库的账号。这两个账户都支持修改密码,其中 root@proxysys
的密码对应配置项 obproxy_sys_password
,proxyro@sys
的密码对应配置项 observer_sys_password
,为了实现 proxyro 的平滑改密(不重启),3.x 版本增加了 observer_sys_password1
连接方式来看,@ 后面的是租户?那是不是应该有proxysys,不知道这样理解对不对
又再次看了下,这两个账号是不是obproxy自己的,跟observer库没关系?
我测试了下好像是,这样的。是obproxy自己的账户,跟observer没关系。感谢!!那么是不是文档就是错误的?
再咨询个问题:proxyro的默认密码在哪儿看呢,看ocp文档中创建obproxy那没提到
1、如果是rpm安装的是通过客户端链接以后创建这个用户proxyro
2、如果是obd安装的可以通过obd白屏化设置密码 在yaml文件中可以查看
3、root@proxysys租户登录 查看proxyro密码信息
select * from proxy_config where name like ‘%password%’;
文档也没有错 在这里解释的很清楚 只要不搞混淆就好了
看文档 说是 root@proxysys租户登录 。也就是这个租户是对于obproxy本身而言的?不是observer的租户嘛,只是都叫租户而已是吧。 看 皇甫侯 发的文档说是用户。
另外,我查询结果没看到proxyro的密码呢,并且看到的proxysys好像也是加密了的。这个proxyro@sys的默认密码在哪儿看呢?
[root@devdb ~]# mysql -h192.168.6.156 -P2883 -uroot@proxysys -p -A -c --prompt "OceanBase(\u@\d)> "
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 790109
Server version: 5.6.25
Copyright (c) 2000, 2022, 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.
OceanBase(root@proxysys@(none))> select * from proxy_config where name like '%password%';
+------+------+-------+-------------+--------------+------------------------+------------------------------------------+------+-------+-------------+---------------+---------------+
| vid | vip | vport | tenant_name | cluster_name | name | value | info | range | need_reboot | visible_level | config_level |
+------+------+-------+-------------+--------------+------------------------+------------------------------------------+------+-------+-------------+---------------+---------------+
| -1 | | 0 | | | observer_sys_password1 | | | | | | LEVEL_GLOBAL |
| -1 | | 0 | | | observer_sys_password | | | | | | LEVEL_GLOBAL |
| -1 | | 0 | | | obproxy_sys_password | 76ccc7672c0aeca8203041cd8a4d3921f9c348e7 | | | | | LEVEL_GLOBAL |
| -1 | | 0 | | | inspector_password | | | | | | LEVEL_GLOBAL |
| -1 | | 0 | | ob01 | observer_sys_password | e3ad7e3b4b04044d929db03e61d77e3d86c5838a | | | | | LEVEL_CLUSTER |
| -1 | | 0 | | ob01 | observer_sys_password1 | e3ad7e3b4b04044d929db03e61d77e3d86c5838a | | | | | LEVEL_CLUSTER |
+------+------+-------+-------------+--------------+------------------------+------------------------------------------+------+-------+-------------+---------------+---------------+
6 rows in set (0.00 sec)
OceanBase(root@proxysys@(none))>
我看文档中 没有描述root@proxysys是租户呀 你在哪里看的 截个图贴一下
其中 root@proxysys
的密码对应配置项 obproxy_sys_password
proxyro@sys
的密码对应配置项 observer_sys_password
用mysql -h192.168.6.156 -P2883 -uroot@proxysys -p -A -c --prompt "OceanBase(\u@\d)> "登录proxy后,无法执行此文档中的这个语句:
select svr_ip, sql_port from oceanbase.__all_virtual_proxy_schema where tenant_name = ‘mysql’ and database_name = ‘test’ and table_name = ‘test’ and sql_port > 0 AND role = 2;
±-----------±---------+
| svr_ip | sql_port |
±-----------±---------+
| 10.10.10.2 | 2881 |
| 10.10.10.3 | 2881 |
±-----------±---------+
2 rows in set
1、感谢你的反馈 我们核实一下 如果是文档问题 后续会修复
2、你重新执行一下语句发一下
obproxy.log和observer.log的日志
obproxy_156.log (108.8 KB)
observer_154.log (4.3 MB)
observer_155.log (4.3 MB)
observer_156.log (3.7 MB)
另外咨询一个问题,在开启读写分离后,如何知道当前查询转发到哪一个节点了。类似用mysql mgr做测试,能通过查询server_id之类的来判断。但是直连每一个observer节点,发现所有server_id都一样。
看文档有可以通过explain route的命令,除了这个还有其他方法么,在sql中直接查询的
这个密码加密了的。能看到proxyro@sys
默认密码原始值么?
自己的设置的明文 一般自己是知道的 这个里面只有加密的了
这个你设置proxyro的密码 就是一个随机的 这个密码不对外 因为这个用户是和observer集群连接的 后面你也可以通过ocp更改 都是通过proxysys这个管理用户来操作的
不支持没有条件的查询 这样是没有问题的
也就是创建obproxy集群没有手动录入密码,他自动随机生成密码。也不用告诉我,他自己内部用的,我只是后来可以去手动改是吧?