obproxy 连接不上

【产品名称】

oceanbase

【产品版本】

3.1.3

【问题描述】

OBPROXY登录不上其中OBPROXY.LOG错误如下

2022-05-06 21:33:09.603229,undefined,obd_ocp:ocp_meta:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,45515us,0us,0us,0us,Y0-2B08706BE3A0,0,Null value

2022-05-06 21:33:23.855367,undefined,obd_ocp:ocp_meta:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,42172us,0us,0us,0us,Y0-2B08711203A0,0,Null value

2022-05-06 21:33:37.097139,undefined,obd_ocp:ocp_meta:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,8251us,0us,0us,0us,Y0-2B08706BE3A0,0,Null value

2022-05-06 21:33:51.262392,undefined,obd_ocp:ocp_meta:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,85944us,0us,0us,0us,Y0-2B08711203A0,0,Null value

2022-05-06 21:34:05.428518,undefined,obd_ocp:ocp_meta:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,13308us,0us,0us,0us,Y0-2B08706BE3A0,0,Null value

2022-05-06 21:34:21.347757,undefined,obd_ocp:ocp_meta:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,13245us,0us,0us,0us,Y0-2B08711203A0,0,Null value

2022-05-06 21:34:30.668894,undefined,obd_ocp:sys:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,58059us,0us,0us,0us,Y0-2B08706BE3A0,0,Null value

2022-05-06 21:34:35.592747,undefined,obd_ocp:ocp_meta:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4152,19021us,0us,0us,0us,Y0-2B08711203A0,0,Null value

登录时候的错误信息

[root@oceanbase2 log]# obclient -h192.168.56.2 -uroot@sys#obd_ocp -P2883 -A -p5203;

ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading authorization packet’, system error: 11

这个是通过OBD部署的。开始是没有问题的。后来由于虚拟机挂了重启后就遇到这个问题。

检查一下OB里面是否有proxy_ro这个用户

1 个赞

应该是有的。我开始是可以用的,后来虚拟机挂了重启后就不能用了。如果直连2881端口是没有问题的。就是2883端口不能连上

MySQL [(none)]> select user,host,password from mysql.user where user='proxyro';

+---------+------+-------------------------------------------+

| user   | host | password                                 |

+---------+------+-------------------------------------------+

| proxyro | %   | *e9c2bcdc178a99b7b08dd25db58ded2ee5bff050 |

+---------+------+-------------------------------------------+

1 row in set (0.067 sec)

那这样登录失败是因为 OBProxy 默认禁止用户 proxyro登录。修改 OBProxy 参数跳过用户 proxyro 登录检查。

例如:

mysql -h 172.20.249.52 -u root@proxysys -P 2883 -p0MdTv1tm

alter proxyconfig set skip_proxyro_check=true;

MySQL [(none)]> show proxyconfig like '%skip_proxyro_check%';

+--------------------+-------+--------------------------------------------------+-------------+---------------+

| name        | value | info                       | need_reboot | visible_level |

+--------------------+-------+--------------------------------------------------+-------------+---------------+

| skip_proxyro_check | True | used for proxro@sys, if set false, access denied | false    | SYS      |

+--------------------+-------+--------------------------------------------------+-------------+---------------+

1 row in set (0.010 sec)


1 个赞

谢谢。我刚才尝试了下直连OBSERVER,然后手动修改了proxyro的密码,然后尝试重启了OBSERVER和obproxy,竟然问题解决了。搞不懂为什么就因为一次虚拟机挂了就导致proxyro的密码都不对了?



这个有没有可能是当时的proxy的进程没有启动?如果您确认有启动的话,我们这边尝试复现一下