问题说明
本文用于排查“ZSphere 升级失败并提示 unknown variable wait_timeout”类问题。
现象
- 升级过程中失败,错误包含 unknown variable 'wait_timeout=600'。
- 用户曾因数据库安全加固修改 /etc/my.cnf。
适用环境
- 产品:ZVF
- 版本:4.x
- 组件:ZSphere
- 涉及对象:升级/数据库
- 场景:管理面与升级类问题,需结合当前版本、部署形态、存储类型和操作时间线确认。
可能原因
- my.cnf 中新增参数位置或语法不符合当前 MariaDB/MySQL 版本要求。
- 安全加固参数影响数据库启动或升级脚本连接。
- 双管理节点配置不一致,升级前未对齐数据库配置。
排查步骤
按顺序执行以下检查,并记录受影响对象、发生时间、完整报错和当前状态。
- 升级前备份数据库和 /etc/my.cnf 等配置文件。
- 检查 my.cnf 中 wait_timeout 等自定义参数所在段落和语法。
- 临时移除或修正不兼容参数后验证数据库可启动,再重新升级。
- 双管理节点需分别核对配置一致性,避免主备切换后复现。
处理方法
- 根据当前 MariaDB/MySQL 版本要求,修正或移除
my.cnf中位置、语法不兼容的自定义参数。 - 确认数据库可以正常启动,双管理节点的数据库配置保持一致后,再重新执行升级。
验证方法
- 数据库和管理服务均可正常启动,日志中不再出现
unknown variable 'wait_timeout=600'。 - 重新执行升级前检查和升级流程,确认不再因该参数失败。
注意事项
- 不要只修改报错参数后直接继续升级;确认升级前检查和数据库启动检查均通过后再执行后续步骤。
