Debian MySQL网络连接优化要点
-
基础网络配置
- 修改监听地址:编辑
/etc/mysql/my.cnf,将bind-address设为0.0.0.0以允许所有IP访问(生产环境建议指定具体IP段)。 - 重启服务:修改后执行
sudo systemctl restart mysql使配置生效。
- 修改监听地址:编辑
-
防火墙规则
- 使用
ufw开放3306端口:sudo ufw allow 3306/tcp,并验证规则是否生效。 - 若需限制IP访问,可通过防火墙规则指定允许的客户端IP段。
- 使用
-
连接数优化
- 修改最大连接数:在
my.cnf的[mysqld]中添加max_connections=500(根据服务器资源调整),重启服务生效。 - 临时调整:通过MySQL命令行执行
SET GLOBAL max_connections=500,但重启后失效。
- 修改最大连接数:在
-
安全加固
- 限制远程用户权限:创建专用远程用户并限制其来源IP,避免使用root远程连接。
CREATE USER 'remote_user'@'192.168.1.%' IDENTIFIED BY 'StrongPassword'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'192.168.1.%'; - 启用SSL加密:在
my.cnf中添加ssl=1,并配置证书(需提前安装SSL工具)。
- 限制远程用户权限:创建专用远程用户并限制其来源IP,避免使用root远程连接。
-
性能调优
- 调整缓冲池:设置
innodb_buffer_pool_size为服务器内存的70%-80%,提升查询效率。 - 优化超时参数:修改
wait_timeout和interactive_timeout(默认8小时),避免闲置连接占用资源。
- 调整缓冲池:设置
-
监控与验证
- 使用
SHOW VARIABLES LIKE 'max_connections'验证连接数设置。 - 通过
netstat -tulnp | grep 3306检查端口监听状态,确保配置正确。
- 使用
注意:生产环境中需优先通过防火墙和用户权限控制访问,避免直接开放所有IP。修改配置前建议备份相关文件,重启服务后测试连接稳定性。