mysql有时会有代理的需求,代理方式很多,nginx或其他代理软件,推荐一个轻量级,专业代理数据的软件haproxy
- 下载 HAProxy 源码包
cd /usr/local/src
wget http://www.haproxy.org/download/2.8/haproxy-2.8.0.tar.gz
2.解压安装包
tar -zxvf haproxy-2.8.0.tar.gz
cd haproxy-2.8.0
3.安装依赖
yum install gcc make pcre-devel zlib-devel openssl-devel
4.编译和安装 HAProxy
make TARGET=linux-glibc
sudo make install
5.创建 HAProxy 配置文件和目录
sudo mkdir /etc/haproxy
sudo touch /etc/haproxy/haproxy.cfg
6.配置文件内容
vi /etc/haproxy/haproxy.cfg
将以下内容调整成自己配置后,粘贴进去
globallog /dev/log local0maxconn 2000user haproxy #需要调整成自己的用户比如 rootgroup haproxy #需要调整成自己的组比如 rootdaemondefaultslog globalmode tcptimeout connect 5000mstimeout client 50000mstimeout server 50000msfrontend mysql_frontendbind *:3306default_backend mysql_backendbackend mysql_backendserver mysql_server 192.168.46.55:3366 maxconn 100 #需要调整成代理的数据库配置
7.启动 HAProxy
进入安装路径,执行启动命令
sudo haproxy -f /etc/haproxy/haproxy.cfg
8.验证 HAProxy 状态
sudo systemctl status haproxy
或者直接查看端口是否被监听,有输出haproxy即为正常
lsof -i :3306
9.测试代理
使用 MySQL 客户端连接到 HAProxy 代理的地址和端口,例如:
mysql -h 127.0.0.1 -P 3306 -u your_username -p
这样就完成了通过下载和编译方式安装 HAProxy。除此之外HAProxy还有很多功能,比如:
PostgreSQL:支持 PostgreSQL 的负载均衡和故障转移。
MongoDB:可以作为 MongoDB 的负载均衡器。
Redis:支持 Redis 的代理和集群模式。
Cassandra:可以代理 Cassandra 的请求。
Oracle:支持 Oracle 数据库的负载均衡。
SQL Server:可以代理 Microsoft SQL Server 的请求。
CockroachDB:可以用作 CockroachDB 的负载均衡。
HAProxy 通过 TCP 模式可以有效地代理这些数据库,提供负载均衡、故障转移和连接池等功能,具体的可以去参考官网。