前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Haproxy负载均衡模式下,Percona8.0可以得到后端Java/PHP应用程序的真实IP

在Haproxy负载均衡模式下,Percona8.0可以得到后端Java/PHP应用程序的真实IP

原创
作者头像
贺春旸的技术博客
发布2024-01-23 14:08:37
1570
发布2024-01-23 14:08:37
举报
文章被收录于专栏:DBA 平台和工具

在Haproxy负载均衡模式下,P e rcona8.0可以得到后端Java/PHP应用程序的真实IP。

架构:Java -> Haproxy -> MySQL Slave(对从库做负载均衡读)

在MySQL 8.0里,执行show processlist或者查看慢日志slow.log,只能查看到Haproxy的代理IP,无法得到真实应用的IP地址。

这对于排查线上慢SQL,给研发带来了难度,定位问题很困难。

那么你可以切换到Percona8.0。

实现:

1) 需要在Haproxy里设置send-proxy

server 192.168.198.239 192.168.198.239:3306 send-proxy inter 2000 rise 3 fall 3

注:(192.168.198.239为后端MySQL节点)

重启haproxy进程生效。

2) 需要用Percona替换MySQL

设置参数

proxy_protocol_networks = *

注:重启mysqld进程生效

此时,你登录Percona 8.0里,执行show processlist或者查看慢日志slow.log,就可以查看到真实的应用程序IP了。

参考: https://docs.percona.com/percona-server/8.0/proxy-protocol-support.html#proxy_protocol_networks

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架构:Java -> Haproxy -> MySQL Slave(对从库做负载均衡读)
  • 实现:
    • 1) 需要在Haproxy里设置send-proxy
      • 2) 需要用Percona替换MySQL
      • 此时,你登录Percona 8.0里,执行show processlist或者查看慢日志slow.log,就可以查看到真实的应用程序IP了。
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档