TIDB从3.0.12升到4.0的时候,tidb-server检查配置出错

在上述情况下,ssh运行/home/tidb/deploy/bin/tidb-server --config-check --config=/home/tidb/deploy/conf/tidb.toml,报如下图所示错误:

你好,

确认几点

  1. 是否从 tidb-ansible 导入 tiup
  2. 请提供下 tidb-server 的配置文件。(edit-config)
  3. 可以简述下升级方式

有先从 tidb-ansible 导入 tiup,然后通过tiup cluster upgrade formal-cluster v4.0.0 升级

配置.txt (1.4 KB)

重复执行tiup cluster upgrade formal-cluster v4.0.0 ,会报版本太低的问题

你好

在 edit-config 中没有发现 service_configs 中关于 tidb 的特殊配置,所以希望提供下 tidb-deploy-dir/conf/tidb.toml 和 cat /home/tidb/.tiup/storage/cluster/clusters/cluster name/meta.yaml 文件。

图片中的可能下载 bao 出问题,可以清理下packages ,目录为:/home/tidb/.tiup/storage/cluster/packages/

meta.yaml (8.0 KB) tidb.toml (1.8 KB)

你好,

是否手动编辑过 tidb.toml,此文件内容与 github tidb 配置模板完全一致

用tidb-ansible方式安装的时候,有对tidb配置调整过参数

但是我今天试了,从3.0.4->3.0.12的小版本升级是可以的

可以把toml mv,并创建同名 toml,升级试下,

tidb.toml移除掉,并创建空的tidb.toml?

是的,如果不指定配置文件,即使用默认配置,有配置需要可以在 edit-config 中配置

结果还是一样的,因为在部署的时候会把上个版本的tidb.toml拷贝到tidb-deploy-dir/conf/下,即使设置为空,还是会使用上个版本的tidb.toml,上个版本的tidb.toml是否是保存在/home/tidb/.tiup/storage/cluster/clusters/formal-cluster/ansible-imported-configs目录下?

经测试,是因为tikv_client.max-txn-time-use: 18000这个tidb的参数,在tidb3.0版本是生效的,而在tidb4.0版本是不生效的,最终导致了无法升级;注:我的测试服已经升到tidb4.0,通过测试这些参数而得的结论

已经正常解决了这个问题,确实是拷贝的/home/tidb/.tiup/storage/cluster/clusters/formal-cluster/ansible-imported-configs目录下相关历史配置

正确的解决方案: 注释/home/tidb/.tiup/storage/cluster/clusters/formal-cluster/ansible-imported-configs下的tidb.toml相关配置(注:这里是报错信息相关的配置),重新启动upgrade任务

:call_me_hand::rofl:,666,感谢分享。

同时还需要 tiup cluster edit-config <cluster-name> 把 config 里面的对应字段移除掉才不会出错。