搭建Haproxy为tidb做负载均衡时,发现配置的端口始终报“cannot bind socket”

报错如下:

[ALERT] 338/094612 (32969) : Starting proxy mysql: cannot bind socket [0.0.0.0:3306]

 使用下面的命令检查后,发现端口并未被占用

netstat -tunlp | grep 3306

/etc/haproxy/haproxy.cfg配置文件转发片段如下:

listen mysql
    bind :3306
    mode tcp
    balance  roundrobin
    server mysql1 10.152.9.13:4000  maxconn 10000
    server mysql2 10.152.9.14:4000  maxconn 10000

使用haproxy -f /etc/haproxy/haproxy.cfg -c检查配置文件也没有问题。

最终在https://stackoverflow.com/questions/34793885/haproxy-cannot-bind-socket-0-0-0-08888找到问题。

原来是要先设置haproxy连接策略,执行以下命令即可

setsebool -P haproxy_connect_any=1

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐