我用 haproxy 在 AWS RDS 和 1 EC2 中创建 1 个主服务器和 2 个复制
listen rds-cluster
bind 172.30.0.xxx:3306
mode tcp
option mysql-check user ha_check
balance roundrobin
server mysql-1 replica1.xxxx.ap-southeast-1.rds.amazonaws.com:3306 check weight 1 fall 2 fastinter 1000
server mysql-2 replica2.xxxx.ap-southeast-1.rds.amazonaws.com:3306 check weight 1 fall 2 fastinter 1000
如果我可以使用端点直接连接到副本服务器,但是如果我使用 haproxy
$ mysql -h172.30.0.xxx -uha_read -ppassword -e "show variables like 'server_id'"
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
我得到了那个错误
我已经增加了connect_timeout
如果我检查
SHOW GLOBAL STATUS LIKE 'Aborted_connects';
它不断增加
================
这篇文章解决了我的问题 CUSTOM CONFIGURATION OF AMAZON RDS INSTANCES