今天凌晨数据库突然连不上,导致应用停止服务,连接通过OBProxy

两个副本,应用通过OBProxy连接数据库

OBProxy日志:

2026-04-19 21:29:19.385304,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,6560us,0us,0us,0us,Y0-0000146AE463E690,172.16.153.9:56706,0,Internal error,
2026-04-19 21:41:42.856817,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,3541us,0us,0us,0us,Y0-0000146AE463E1D0,172.16.153.9:58433,0,Internal error,
2026-04-19 22:39:48.949133,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,3904us,0us,0us,0us,Y0-0000146AE463E7D0,172.16.153.9:64064,0,Internal error,
2026-04-19 22:39:57.782127,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5666us,0us,0us,0us,Y0-0000146AE203EF90,172.16.153.9:64076,0,Internal error,
2026-04-19 23:16:28.504420,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5383us,0us,0us,0us,Y0-0000146AE203EDD0,172.16.153.9:50342,0,Internal error,
2026-04-19 23:29:20.604520,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,3766us,0us,0us,0us,Y0-0000146AE203EDD0,172.16.153.9:51258,0,Internal error,
2026-04-20 01:35:31.032258,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5287us,0us,0us,0us,Y0-0000146AE203E390,172.16.153.9:59644,0,Internal error,
2026-04-20 01:55:40.697855,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7308us,0us,0us,0us,Y0-0000146AE463F450,172.16.153.9:60920,0,Internal error,
2026-04-20 02:00:01.742381,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,8771us,0us,0us,0us,Y0-0000146AE203EED0,172.16.153.9:61204,0,Internal error,
2026-04-20 02:16:08.418993,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5928us,0us,0us,0us,Y0-0000146AE463ED90,172.16.153.9:62216,0,Internal error,
2026-04-20 02:40:33.842992,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5317us,0us,0us,0us,Y0-0000146AE463E690,172.16.153.9:63599,0,Internal error,
2026-04-20 02:48:41.107404,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7000us,0us,0us,0us,Y0-0000146AE203F050,172.16.153.9:64184,0,Internal error,
2026-04-20 02:51:45.521764,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5926us,0us,0us,0us,Y0-0000146AE203E390,172.16.153.9:64408,0,Internal error,
2026-04-20 03:02:37.303604,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7335us,0us,0us,0us,Y0-0000146AE463E790,172.16.153.9:65200,0,Internal error,
2026-04-20 03:06:38.247472,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,4268us,0us,0us,0us,Y0-0000146AE203EED0,172.16.153.9:65415,0,Internal error,
2026-04-20 03:55:30.846406,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7091us,0us,0us,0us,Y0-0000146AE463F590,172.16.153.9:51796,0,Internal error,
2026-04-20 04:05:04.292098,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,3734us,0us,0us,0us,Y0-0000146AE203F050,172.16.153.9:52410,0,Internal error,
2026-04-20 05:31:43.894987,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5772us,0us,0us,0us,Y0-0000146AE203E890,172.16.153.9:57131,0,Internal error,
2026-04-20 06:08:54.078724,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5782us,0us,0us,0us,Y0-0000146AE463E790,172.16.153.9:59269,0,Internal error,
2026-04-20 06:10:24.832035,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,3944us,0us,0us,0us,Y0-0000146AE203E890,172.16.153.9:59392,0,Internal error,
2026-04-20 06:10:40.902193,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,4494us,0us,0us,0us,Y0-0000146AE463E7D0,172.16.153.9:59407,0,Internal error,
2026-04-20 06:12:20.715205,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7440us,0us,0us,0us,Y0-0000146AE203E890,172.16.153.9:59496,0,Internal error,
2026-04-20 06:12:38.236636,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7473us,0us,0us,0us,Y0-0000146AE203EB10,172.16.153.9:59524,0,Internal error,
2026-04-20 06:12:43.567916,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,6833us,0us,0us,0us,Y0-0000146AE203EB10,172.16.153.9:59537,0,Internal error,
2026-04-20 06:12:56.479908,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7856us,0us,0us,0us,Y0-0000146AE463F610,172.16.153.9:59584,0,Internal error,
2026-04-20 07:23:56.669881,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5467us,0us,0us,0us,Y0-0000146AE463EA10,172.16.153.9:64589,0,Internal error,
2026-04-20 07:41:31.478987,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,8820us,0us,0us,0us,Y0-0000146AE463E910,172.16.153.9:49526,0,Internal error,
2026-04-20 08:13:12.977652,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5189us,0us,0us,0us,Y0-0000146AE203EDD0,172.16.153.9:54472,0,Internal error,
2026-04-20 08:13:19.939159,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,7637us,0us,0us,0us,Y0-0000146AE203EDD0,172.16.153.9:54522,0,Internal error,
2026-04-20 08:13:29.757393,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,5443us,0us,0us,0us,Y0-0000146AE463ED90,172.16.153.9:54541,0,Internal error,
2026-04-20 08:14:19.339788,undefined,obcluster:mytenant:,OB_MYSQL,OB_MYSQL_COM_LOGIN,failed,-4016,4744us,0us,0us,0us,Y0-0000146AE463ED90,172.16.153.9:54712,0,Internal error,

OBProxy版本:
root@iZ0jlc6kmzai3wx0mr2rp2Z:~/obproxy/bin# ./obproxy -V
./obproxy -V
obproxy (OceanBase 4.3.3.0 5)
REVISION: 1-local-60ff90081edf7829e4f6458adb6d1184c3344b80
BUILD_TIME: Jan 21 2025 17:32:47

OBServer版本:
root@iZ0jlc6kmzai3wx0mr2rp2Z:~/observer/bin# ./observer -V
./observer -V
observer (OceanBase_CE 4.3.5.1)

REVISION: 101000042025031818-b6d5706eb3d2c5f501c7fa646ddbf32f3dc87069
BUILD_BRANCH: HEAD
BUILD_TIME: Mar 18 2025 18:12:30

4 个赞

参考 连接诊断-V4.3.6-OceanBase 数据库代理文档-分布式数据库使用文档在obproxy_diagnosis.log中查到了以下日志:

[2026-04-20 08:13:12.977638] [28530][Y0-0000146AE203EDD0] [LOGIN](trace_type=“LOGIN_TRACE”, connection_diagnosis={cs_id:2757684, ss_id:0, proxy_session_id:0, server_session_id:0, client_addr:“172.16.153.9:54472”, server_addr:“Not IP address [0]:0”, proxy_server_addr:“Not IP address [0]:0”, cluster_name:“obcluster”, tenant_name:“mytenant”, user_name:“root”, error_code:-4043, error_msg:“dummy entry is empty, please check if the tenant exists”, request_cmd:“OB_MYSQL_COM_LOGIN”, sql_cmd:“OB_MYSQL_COM_LOGIN”, req_total_time(us):5189}{internal_sql:"", login_result:“failed”})

看到有个类似问题的帖子 observer启动时提示[errcode=-4034]错误 - 社区问答- OceanBase社区-分布式数据库,我这种情况如何继续排查呢?

2 个赞

识别不到租户和实例了

1 个赞

实例运行了很久了。,突然就识别不到租户和实例了? 应该还有更深层次的原因。这个实例并不是昨天部署的。

1 个赞

@论坛小助手

obproxy日志和obproxy_diagnosis.log都提供一份看下

1 个赞

根据您提供的 OBProxy 日志和错误信息,问题可能是由 OBProxy 与 OBServer 之间的连接异常导致的。错误码 -4016 表示 OBProxy 在尝试连接 OBServer 时发生了内部错误。可能的原因包括 OBServer 本身存在问题、OBProxy 与 OBServer 之间的网络问题、或者 OBProxy 自身的问题。建议首先检查 OBServer 的状态,确保 OBServer 正常运行。可以通过以下 SQL 查询 OBServer 的状态:

SELECT status FROM oceanbase.DBA_OB_SERVERS;

如果 OBServer 状态正常,接下来检查 OBProxy 与 OBServer 之间的网络连接,确保网络通畅。如果网络也没有问题,考虑重启 OBProxy,有时候重启可以解决一些临时性的问题。

如果上述步骤都无法解决问题,建议查看 OBProxy 的详细日志文件 obproxy_error.logobproxy.log,以便进一步分析问题。

详情请参考:

  1. 影响 OceanBase 数据库连接超时的相关配置一般有哪些
  2. 遇到问题如何向技术支持同学提问
  3. 连接诊断
  4. 检查 OBServer 状态
1 个赞

整个日志文件夹太大,有什么精简的方法没。

1 个赞

神奇的问题

两台服务器的日志:
https://afarfile.oss-cn-beijing.aliyuncs.com/temp/172.16.153.8.zip
https://afarfile.oss-cn-beijing.aliyuncs.com/temp/172.16.192.57.zip

172.16.192.57
172.16.153.8
为两副本

应用程序连接的是172.16.192.57的OBProxy

1 个赞

磁盘有没有问题

password error(tenant_name=sys, user_name=proxyro, client_ip=172.16.192.57, host_name=%)
目前业务正常么,9点时候报错存在proxyro用户密码错误问题是你手动连接的么?

1 个赞

目前业务正常,重启应用(相当于重连数据库集群)正常,而且过程中我重启了不止一次应用。数据库集群很不容易连上,多试了几次连接上了。

9点时候报错存在proxyro用户密码错误问题是你手动连接的么

你说的手动连接是指?我只是连接正常集群的租户,没有使用proxyro。

1 个赞

是不是proxy里面改过这个密码呀。

1 个赞

这是我的配置文件,里面定义了proxyro密码
我看了日志,确实有很多password error

是不是proxy里面改过这个密码
不太记得,如何确认?

1 个赞

DBProxy中有两个密码的配置,observer_sys_password和observer_sys_password1
安全和协议-V4.3.0-OceanBase 数据库代理文档-分布式数据库使用文档

ODP 有两个特殊的账号:root@proxysysproxyro@sys ,这里 root@proxysys 是 ODP 的管理员账号,proxyro@sys 是 ODP 访问 OceanBase 数据库的账号。这两个账户都支持修改密码,其中 root@proxysys 的密码对应配置项 obproxy_sys_passwordproxyro@sys 的密码对应配置项 observer_sys_password ,为了实现 proxyro 的平滑改密(不重启),3.x 版本增加了 observer_sys_password1

看文档的解释:observer_sys_password代表了root@proxysys账号的密码, observer_sys_password1代表了proxyro@sys账号,但是我用了另外几个集群验证了以下,发现obproxy_sys_password才是proxyro@sys(验证方法是根据密码明文sha1看是否和SHOW PROXYCONFIG LIKE ‘%observer_sys_password%’;记录的value是否一致)

但是今天出故障的集群

obclient(root@proxysys@proxysys)[oceanbase]> SHOW PROXYCONFIG LIKE '%observer_sys_password%';
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+-------+--------------+
| name                   | value                                    | info                           | need_reboot | visible_level | range | config_level |
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+-------+--------------+
| observer_sys_password1 | ee0e5138c912aed80b683c05303684be347ce81d | password for observer sys user | false       | SYS           |       | LEVEL_VIP    |
| observer_sys_password  |                                          | password for observer sys user | false       | SYS           |       | LEVEL_VIP    |
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+-------+--------------+

是空的,结合我上面发的edit-confgi的截图, 这个正常么,结合Github上的OBProxy源码:


它是这俩密码都试试,都不行才抛异常?

但是为什么我的集群重连几次还能正常用,但是确实我看日志截止到现在一直出异常:

所以集群现在是什么状态呢?

172.16.153.9这个节点跟你发的日志是一个集群的么。

172.16.153.9不是OB节点,是应用服务器,Windows操作系统。跟集群在一个局域网

observer_sys_password是proxyro
obproxy_sys_password是proxysys
看日志都是从9点后开始这边所能看到的4016相关报错都是proxyro的。
有没有保存凌晨业务异常期间的日志

没了。日志最早也是8点多。但是如果是proxyro密码造成的,为什么多试几次就能连上。这个我不太能理解。

obclient(root@proxysys@proxysys)[oceanbase]> SHOW PROXYCONFIG LIKE '%observer_sys_password%';
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+-------+--------------+
| name                   | value                                    | info                           | need_reboot | visible_level | range | config_level |
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+-------+--------------+
| observer_sys_password1 | ee0e5138c912aed80b683c05303684be347ce81d | password for observer sys user | false       | SYS           |       | LEVEL_VIP    |
| observer_sys_password  |                                          | password for observer sys user | false       | SYS           |       | LEVEL_VIP    |
+------------------------+------------------------------------------+--------------------------------+-------------+---------------+-------+--------------+

这两个值没有一个是真实密码的sha1值。