执行show master status 一直报`ERROR 2013 (HY000): Lost connection to MySQL server during query` 错误

【 使用环境 】生产环境
【 OB or 其他组件 】obbinlog
【 使用版本 】obbinlog-ce-4.2.3-200000012025021315.el7
【问题描述】执行show master status 一直报ERROR 2013 (HY000): Lost connection to MySQL server during query 错误, 执行其他SQL语句都正常,凡是binlog 相关的语句都报Lost connection 错误
【复现路径】问题出现前后相关操作
ODP 版本:4.3.2.0-42
binlog 日志中可以看到连接一直被关闭,截取部分日志如下:

[2025-03-13 16:54:32.551522] [info] cmd_processor.cpp(58): Received query [show binlog server for tenant `sgoceanbase`.`sg`] on connection [OBM][binlog_user@sg,,]192.168.2.112:2983-192.168.2.111:49340/7
[2025-03-13 16:54:32.551608] [info] cmd_processor.cpp(77): Successfully parsed SQL [type: 28], [show binlog server for tenant `sgoceanbase`.`sg`]
[2025-03-13 16:54:32.583171] [info] event_dispatch.cpp(117): Succeeded do_cmd on connection [c6ee79f1799c5445b7732aabdbb661][OBM][binlog_user@sg,,]192.168.2.112:2983-192.168.2.111:49340/7
[2025-03-13 16:54:32.624225] [info] connection.cpp(139): Client [[OBM][binlog_user@sg,,]192.168.2.112:2983-192.168.2.111:49340/7] has been closed.
[2025-03-13 16:54:32.624324] [info] connection.cpp(89): Closed connection [OBM][binlog_user@sg,,]192.168.2.112:2983-192.168.2.111:49340/7

binlog service 日志如下:
logproxy.log (1.2 MB)
通过2983 端口连接binlog service,查看binlog instance 也正常


各位大佬帮忙看一下

1 个赞

1、在ODP所在的机器上,直连binlog service ip,多次执行 show binlog server for tenant $cluster_name .$tenant_name 看看,替换为真实的集群和租户名 看看是否稳定执行
2、发一下具体ODP的版本号,./obproxy -V看一下
3、ob的版本发一下 obproxy的版本号
4、下面的日志发一下
binlog_instance.log
libobcdc.log
5、看一下binlog service 服务器的负载
top -H

2 个赞
  1. 在ODP所在的机器上, 直连binlog service ip,多次执行命令正常
    image
  2. ODP的版本
    ./bin/obproxy -V
    obproxy (OceanBase 4.3.2.0 42)
    REVISION: 1-local-f877a496d4c55b184ec568599ae565616437034d
    BUILD_TIME: Dec 6 2024 17:38:33
  3. ob的版本: 4.3.4.1
  4. binlog_instance 与 libobcdc 的日志如下:
    binlog_instance.log.gz (977.8 KB)
    libobcdc.log.gz (13.1 MB)
  5. 服务器负载情况如下:
    image
    麻烦 淇铭老师帮忙看一下
1 个赞

学到了! :+1: :+1: :+1:

2 个赞

obproxy.log的日志也发一下吧

2 个赞

obproxy.log 如下, 部分信息做了脱敏处理
obproxy.log.20250313174202.gz (8.7 MB)
有劳 淇铭老师帮忙分析一下

1 个赞

麻烦在看一下 obproxy/log下的日志下obproxy_error.log有没有 如果有 也提供一下

1 个赞


看着报错是curl访问报错
ps -ef|grep obproxy看一下这个进程的启动命令
还有看一下obproxy安装目录下etc目录里面的obproxy.config.bin
可以用这个命令查看里面的内容
strings obproxy_config.bin

1 个赞

obproxy 进程启动参数:

/home/oceanbase/obproxy/bin/obproxy -p 2883 -n obProxy -o server_tcp_keepcnt=2,client_tcp_keepcnt=2,client_sock_option_flag_out=3,server_tcp_keepintvl=5,client_tcp_keepidle=5,rpc_listen_port=2885,prometheus_sync_interval=1s,sock_option_flag_out=3,obproxy_config_server_url=http://47.xx.xx.107:18880/services?User_ID=alibaba&UID=test&Action=GetObProxyConfig&ObproxyClusterName=obProxy,prometheus_listen_port=2884,client_tcp_keepintvl=5,enable_metadb_used=false,skip_proxy_sys_private_check=true,log_dir_size_threshold=10G,proxy_mem_limited=2G,enable_full_username=true,enable_proxy_scramble=true,enable_strict_kernel_release=false,server_tcp_keepidle=5

etc 下面没找到 obproxy.config.bin 文件

[root@localhost obproxy]# ls etc/
obproxy_config_server_info.json  obproxy_rslist_info.json  proxyconfig_v1.db
1 个赞

有劳 淇铭老师帮忙看看
obproxy_error.log.gz (5.0 MB)

1 个赞

dp 所在机器 curl 这个连接看看输出的信息 是不是 有问题

1 个赞

现在可以了,之前是防火墙限制了IP访问


现在执行 show master status 还是报 Lost connection 错误

1 个赞

提供一下 最新的日志 obproxy/log下的日志下 obproxy.log obproxy_error.log

1 个赞

下面是最新的obproxy日志,辛苦 淇铭老师了
obproxy_error_03141530.log.gz (5.0 MB)
obproxy_03141530.log.gz (1.7 MB)

[2025-03-14 15:18:11.678387] INFO [PROXY.TXN] handle_server_failed (ob_mysql_transact.cpp:7072) [36016][Y0-00007FB0B09995F0] [lt=0] [dc=0] ObMysqlTransact::handle_server_failed(current state=“CONNECT_ERROR”, attempts=1, s.congestion_entry_=NULL)
[2025-03-14 15:18:11.678372] WDIAG [PROXY.NET] handle_connect (ob_unix_net_processor.cpp:429) [36016][Y0-00007FB0B09995F0] [lt=0] [dc=0] detect socket error(optval=113, addr={192.168.2.112:8100}, ret=-4015)
看起来是网络问题 odp 连不上这个地址192.168.2.112

感谢 淇铭老师, 8100开放防火墙端口之后可以正常访问了

MySQL [oceanbase]> show master status;
+------------------+----------+--------------+------------------+------------------------------------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                              |
+------------------+----------+--------------+------------------+------------------------------------------------+
| mysql-bin.000004 | 49792403 |              |                  | 2db56bc2-eb84-11ef-bb3f-208810d54bc8:1-1034296 |
+------------------+----------+--------------+------------------+------------------------------------------------+
1 row in set (0.10 sec)

还得是官方

学习一下解决方案

看不大懂啊