当前位置:   article > 正文

mysql 0.0.0.0 3306_端口冲突引起的cannot bind socket [0.0.0.0:3306]错误

mysql 没有0.0.0.0:3306

在配置PXC+keepalived+haproxy高可用群集时,由于资源所限,将keepalived与haproxy安装在了pxc0/pxc1两个节点上。

通过vip连接mysql时提示 Too many connections 。检查keepalived服务正常,但发现haproxy服务启动失败。提示:Starting frontend pxc-onenode-front: cannot bind socket [0.0.0.0:3306]

网上比较多的解决方案是修改/etc/sysctl.conf 文件,添加net.ipv4.ip_nonlocal_bind = 1 与net.ipv4.ip_forward = 1(内核转发)

但修改后仍然无法启动。

后来观察haproxy配置文件时发现,在同一台机上mysql已经打开了3306端口,这时再去监听3306端口,必然会引起冲突,导致haproxy无法启动。

解决办法:将3306改为其它任何一个空闲端口即可

$ vi /etc/haproxy/haproxy.cfg

......

frontend pxc-onenode-front # 在这个前端监听的定义中,表示监听3316端口的请求,再转发到“pxc-onenode-back”这个后端所定义的ip池中,原来绑定的是3306,当然会与mysql冲突了

bind *:3316

mode tcp

default_backend pxc-onenode-back

......

backend pxc-onenode-back # 对应前端pxc-onenode-front

mode tcp

balance lea

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/743965
推荐阅读
相关标签
  

闽ICP备14008679号