gpt4 book ai didi

带有 haproxy 的 mysql 农场

转载 作者:行者123 更新时间:2023-11-29 11:53:21 24 4
gpt4 key购买 nike

我想在带有容器的单个节点中配置数据库场。我的想法是使用子域访问每个数据库,例如 mysql1.example.com:3306、mysql2.example.com:3306、mysql3.example.com:3306。

我正在尝试使用 HAProxy 实现此模型,似乎我第一次通过 HAProxy 连接到一个数据库时它就可以工作。当我重新连接时,我得到:错误 2013 (HY000):在“读取初始通信数据包”时失去与 MySQL 服务器的连接,系统错误:0

我在HAproxy中使用的模板是:

global
maxconn 256
debug

defaults
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms

listen www
bind *:3306
mode tcp

acl host_mysql hdr(host) -i mysql1.example.com
server mysql_db_1 172.31.20.75:3307

acl host_mysql hdr(host) -i mysql2.example.com
server mysql_db_2 172.31.20.75:3308

acl host_mysql hdr(host) -i mysql3.example.com
server mysql_db_3 172.31.20.75:3309

最佳答案

我会自动回复。由于 Mysql 使用 TCP 协议(protocol),因此不可能创建此实现,因此它不在 header 中包含 URL。因此 HAproxy 无法重定向到正确的服务器。

我正在考虑使用分配给每个数据库的虚拟 IP 来实现此环境。另一种实现是在同一服务器和不同端口中运行所有数据库。

关于带有 haproxy 的 mysql 农场,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33630268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com