妙博客

主机评测 香港服务器 洛杉矶VPS测评

centos7 安装配置proxysql

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;"

image.png

如果能正常返回 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;


Copyright Your 142132.com Rights Reserved. 赣ICP备17010829号-2