1.下载rpm包
wget https://repo.proxysql.com/ProxySQL/proxysql-2.5.x/centos/7/proxysql-2.5.5-1-centos7.x86_64.rpm
2.安装proxysql
yum install -y proxysql-2.5.5-1-centos7.x86_64.rpm
3.启动 ProxySQL 并设置开机自启
systemctl start proxysql systemctl enable proxysql
验证安装成功(看到6032管理端口、6033流量端口监听即可)
netstat -tulpn | grep proxysql
4.配置proxysql
/phpstudy/mysql/bin/mysql -h127.0.0.1 -P6032 -uadmin -padmin
5.配置mysql节点
-- 插入你的 MySQL 5.7 单实例(hostgroup_id=10 作为默认读写组)
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (10, '127.0.0.1', 3306);
-- 保存配置到内存和磁盘(永久生效)
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;
-- 替换成你实际的 MySQL 应用账号密码
INSERT INTO mysql_users(username, password, default_hostgroup) VALUES ('root', 'mysql_password', 10);
-- 保存用户配置
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;
--核心优化:连接池配置(适配 2 核 2G 小内存)
-- 限制 ProxySQL 到 MySQL 的最大连接数为 100(避免 MySQL 过载)
UPDATE mysql_servers SET max_connections=100 WHERE hostgroup_id=10;
-- 连接池优化参数(小内存专用)
SET mysql-free_connections_pct=20; -- 保持20%空闲连接
SET mysql-max_connections=3000; -- ProxySQL 能扛的应用端最大连接数
SET mysql-connection_max_age_ms=3600000; -- 连接1小时后自动重建,避免连接老化
-- 保存连接池配置
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;
-- 关闭非必要功能(节省 2 核 2G 服务器资源)
-- 关闭统计日志和 SQL 日志,减少 CPU/内存/磁盘占用
SET stats-level=0;
SET mysql-enable_sql_log=0;
-- 保存配置
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;
-- 退出 ProxySQL 管理端口
EXIT;6.开放 ProxySQL 流量端口 6033
7.验证 ProxySQL 能否正常连 MySQL 5.7
# 用应用账号连 ProxySQL 流量端口 6033,测试能否正常查询 mysql -h127.0.0.1 -P6033 -uroot -papp_password your_db -e "SELECT 1;"

如果能正常返回 1,说明配置成功。
8.Spring Boot 配置修改
# 原来的配置
# spring.datasource.url=jdbc:mysql://127.0.0.1:3306/your_db # 修改后(连 ProxySQL 6033) spring.datasource.url=jdbc:mysql://127.0.0.1:6033/your_db spring.datasource.username=app_user spring.datasource.password=app_password
修改mysql端口为3307,然后修改proxysql端口6033为3306
1.停止 ProxySQL
systemctl stop proxysql
2.编辑配置文件
vi /etc/proxysql.cnf
mysql_variables=
{
mysql-interfaces="0.0.0.0:3306"
}
systemctl start proxysql
3.连接 ProxySQL 管理后台
mysql -u admin -padmin -h 127.0.0.1 -P6032
执行这 4 条命令(把 你的 MySQL 密码 替换成真实密码)
-- 1. 添加 root 用户到 ProxySQL(替换为你的 MySQL root 真实密码)
INSERT INTO mysql_users (username, password, default_hostgroup) VALUES ('root', '你的MySQL密码', 10);
-- 2. 加载用户配置到运行时
LOAD MYSQL USERS TO RUNTIME;
-- 3. 永久保存到磁盘
SAVE MYSQL USERS TO DISK;
-- 4. 退出
exit;4.配置后端 MySQL
-- 1. 添加后端MySQL服务器(本地3307端口,归属主机组10) INSERT INTO mysql_servers (hostgroup_id, hostname, port) VALUES (10, '127.0.0.1', 3307); -- 2. 加载配置到运行时 LOAD MYSQL SERVERS TO RUNTIME; -- 3. 永久保存配置 SAVE MYSQL SERVERS TO DISK; -- 4. 退出 exit;