tiproxy 疑问

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

如果启动多个tiproxy(比如启动2个tiproxy),我怎么知道当前连接是的哪个呢(tiproxy 1 or 2)?

8/28

mark 一下

没有vip功能啊

看他们老的设计文档是用来给多租户使用,做资源隔离用的,他们也没更新文档看不出后续要怎么做

still in future work …

大佬,查看客户端连接的源 IP 地址呢

可以通过 tiproxy 日志,有 [new connection] [connID=0] [client_addr=127.0.0.1:63187],可以根据 client_addr 找客户端地址。
如果没有开启 proxy-protocol,也可以通过 show processlist 看 host,这里的 host 就是 tiproxy 地址,因为对 tidb 来说,tiproxy 就是客户端。
目前没有其他办法,有什么建议吗

1 个赞

开启 proxy-protocol 后用 select host from information_schema.processlist where id=connection_id();

这个日志基本够用,不过,
connid 为何不从1 开始呢?
如果能打印backend 的connid 就更好了

牛逼了,看id好像是作者亲自回答。 :joy:

这个 PR 让它从 1 开始了:https://github.com/pingcap/TiProxy/pull/348
backend conn id 只能主动从 backend 查 select connection_id(),因为 tidb 在握手时发给客户端的 conn id 是被 truncate 过的。有 issue 了:https://github.com/pingcap/TiProxy/issues/310

2 个赞

O(∩_∩)O哈哈,是吧~
大佬亲自来社区了~ :pray:

1 个赞

forgive me, 好像这两个问题在
https://github.com/pingcap/TiProxy/issues/345

都解答一遍了 :sweat_smile:

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。