MySQL连接参数配置

一、连接数

MySQL服务连接数查看

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

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

查询结果
MySQL连接参数配置

设置最大连接数

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

最大连接数设置多少合适

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

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

二、连接超时时间

查看超时时间

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

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

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

超时问题解决

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

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


下一篇:SQL中的谓词下推