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

TeamCity从MySQL 5.7升级至8重启后出现query_cache_size错误求助

解决TeamCity连接MySQL 8.0时的query_cache_size错误

问题原因

MySQL 8.0已彻底移除查询缓存相关系统变量(包括query_cache_size),而旧版MySQL JDBC驱动(5.x系列)仍会尝试读取这些变量,导致连接失败。你添加的disableQueryCache=true参数仅对旧驱动适配MySQL 5.7有效,对MySQL 8.0不适用。

解决方案

1. 确认TeamCity版本兼容性

确保使用的TeamCity版本支持MySQL 8.0:TeamCity 2020.2及以上版本官方支持MySQL 8.0,旧版本可能存在兼容问题,建议升级到对应版本的官方Docker镜像。

2. 修正数据库连接配置

修改database.properties文件,更新以下两项:

  • 驱动类替换为MySQL 8.0专用的CJ驱动:
    connectionDriverClass=com.mysql.cj.jdbc.Driver
    
  • 调整连接URL,移除无效的disableQueryCache参数,添加MySQL 8.0必需的时区参数:
    connectionUrl=jdbc:mysql://NAME-ID.us-east-1.rds.amazonaws.com:3306/teamcity?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false
    

3. 验证驱动版本

官方TeamCity镜像中,对应支持MySQL 8.0的版本已内置mysql-connector-java 8.x驱动,无需手动安装。如果使用的是旧版TeamCity镜像,需替换驱动包:

  • 进入Docker容器,找到TeamCity的lib/jdbc目录
  • 删除旧的mysql-connector-java-*.jar文件
  • 放入对应版本的mysql-connector-java-8.0.x.jar包
  • 重启TeamCity服务

4. 清理缓存并重启

  • 清空TeamCity的缓存目录(默认在/data/teamcity_server/datadir/system/cache)
  • 重启TeamCity容器,确认连接错误是否消除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:27:06