首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过我的HA代理服务器连接mysql DB [Keepalived用于虚拟IP-VIP]

无法通过我的HA代理服务器连接mysql DB [Keepalived用于虚拟IP-VIP]
EN

Ask Ubuntu用户
提问于 2016-09-19 11:37:37
回答 2查看 2K关注 0票数 3

我的HAProxy在VIP:192.168.61.32上运行,我还检查了netstat -tulnp|grep 3306

代码语言:javascript
复制
 tcp        0      0 192.168.61.32:3306      0.0.0.0:*               LISTEN      7895/haproxy 

但是当我运行mysql -h 192.168.61.32 -u root -p时:

代码语言:javascript
复制
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

我的后端Mysql节点位于192.168.61.33 & 192.168.61.34,我可以使用mysql -h 192.168.61.33 -u root -p直接连接到它们

代码语言:javascript
复制
 mysql -h 192.168.61.34 -u root -p
EN

回答 2

Ask Ubuntu用户

发布于 2022-03-10 15:08:27

您可能需要检查haproxy和mysql之间是否存在任何连接错误。如果运行systemctl status haproxytail /var/log/haproxy-traffic.log,您可能会发现类似于下面的错误

服务器mysql_ check /galera03 03关闭,原因: Layer7错误状态,代码: 0,info:“主机‘xx.xx’由于许多连接错误而被阻塞;用'mysqladmin刷新-主机‘解除阻塞”,检查持续时间: 0ms。剩下2台活动服务器和0台备用服务器。0次会话活动,0次请求,0次仍在队列中

在这种情况下,您需要运行命令mysqladmin flush-hosts来清除mysqld中被阻塞的In,以便case可以再次连接。

您可能需要以mysqladmin -uroot -p flush-hosts的形式运行该命令

有关如何解决错误的进一步参考,请参阅下面的文档。https://dev.mysql.com/doc/refman/5.7/en/host-cache.html#blocked-host

票数 1
EN

Ask Ubuntu用户

发布于 2018-04-06 07:01:11

我认为您可以在my.ini部分中重新检查绑定地址并编辑全局米舍尔德文件:

米舍尔德

--各种其他设置--

代码语言:javascript
复制
port = 3306
bind-address = 127.0.0.1

保存此文件,然后使用命令重新启动服务mysql:

代码语言:javascript
复制
service mysql restart

编辑

若要授予来自远程IP的用户访问权限,请在与mysql>根用户登录时从MySQL shell运行以下命令:

代码语言:javascript
复制
GRANT ALL on somedb.* to someuser@192.168.61.32 identified by 'somepassword';

如果您想从任何远程IP向某个用户授予访问权限:

代码语言:javascript
复制
GRANT ALL on somedb.* to someuser@% identified by 'somepassword';

在这些步骤之后,请确保重新启动MySQL服务器,以便它将读取配置中的更改。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/826912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档