You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在SpringBoot中配置MySQL的wait_timeout与interactive_timeout参数

在Spring Boot的application.properties中配置MySQL的wait_timeout和interactive_timeout

我明白你想通过Spring Boot的配置文件来设置MySQL的wait_timeout和interactive_timeout,解决睡眠连接的问题——确实这两个参数是MySQL本身的会话级配置,Spring Boot并没有提供直接对应的原生配置项,但我们可以通过两种间接方式实现需求:

方案一:通过JDBC URL传递会话参数

MySQL的JDBC驱动支持在URL中通过sessionVariables参数指定会话级变量,每次建立数据库连接时自动应用这些配置。你只需要在spring.datasource.url中追加对应的参数即可:

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC&sessionVariables=wait_timeout=3600,interactive_timeout=3600
  • 这里的3600是示例值(代表1小时),你可以根据自己的业务需求调整时长
  • 多个变量之间用英文逗号分隔,不需要额外空格

方案二:通过连接池初始化SQL设置

如果你使用的是Spring Boot默认的HikariCP连接池,可以通过connection-init-sql配置项,指定每次从连接池中获取连接时执行的初始化SQL,以此来设置这两个参数:

spring.datasource.hikari.connection-init-sql=SET wait_timeout=3600, interactive_timeout=3600

这种方式的优势在于更灵活,如果你需要执行其他数据库初始化操作(比如设置字符集、时区等),都可以在这条SQL中用分号分隔添加。

补充说明

这两种方式都是设置会话级的参数,只会影响你的Spring Boot应用建立的数据库连接,不会修改MySQL的全局配置,也不会影响其他连接到该数据库的应用。和你之前在MySQL命令行手动设置的效果是一致的。

内容的提问来源于stack exchange,提问作者ALI RAZA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 13:27:34