MySQL连接参数配置


一、连接数

MySQL服务连接数查看

使用如下命令可以查看当前MySQL服务的最大连接数

# 查看MySQL服务的最大连接数
SHOW VARIABLES LIKE '%max_connections%';

查询结果
image

设置最大连接数

# 查看MySQL服务的最大连接数
SET GLOBAL max_connections = 200;

最大连接数设置多少合适

# 查看历史最大使用连接数
SHOW STATUS LIKE 'Max_used_connections%';

查询结果
image
查询结果中展示了过去MySQL服务使用的连接数的峰值和时间,实际在设置的时候,可以参考此数值,进行一定比例的上浮进行设置即可,
比如系统长期稳定运行,可以上浮20%,如果有特殊情况(比如需要增加服务实例),可以根据具体情况可以根据实际的业务场景进行调整。

二、连接超时时间

查看超时时间

MySQL连接默认设置了超时时间,默认是28800 s(MySQL 8默认1800 s)

# 非交互式客户端连接超时时间
SHOW VARIABLES LIKE 'wait_timeout%';
# 交互式客户端连接超时时间
SHOW VARIABLES LIKE 'interactive_timeout%';

image
当MySQL服务器检测到某个连接限制超过该超时时间,连接就会被销毁,这样会导致客户端连接断开,影响应用服务查询。

超时问题解决

那么如何结果连接超时对应用的影响呢?

  • 增加超时时间
    将MySQL服务的超时时间设置长一些,保证在特定时间内服务有请求进入即可
  • 连接参数添加自动重连
    客户端连接参数指定自动重连,例如JDBC连接url:jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
  • 使用连接池
    使用连接池维护数据库连接,设置最小活跃连接数,实际开发中应该尽量使用此种方法,降低连接的频繁创建和销毁带来的开销


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM