【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.5
【复现路径】tidb集群主库为:v6.5.0版本,程序连接集群,不报错误。从库集群为了同时支持tiflash和接收上游ticdc的数据同步,降级到v6.1.5版本,但是,程序连接集群,研发人员反馈最近经常报如下截图中的错误。
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
1 个赞
程序连接的是主库还是从库 ????
这种错误 从经验看像是 驱动的问题。
程序连接的是从库集群,出现上面截图的报错。程序连接主库没有问题。唯一的不同,就是两套集群的版本不同。
重点 排查下 驱动吧。 或者 有什么白名单不 ?
看看负载情况
1、tidb主库集群为:v6.5.0版本,程序连接集群,不报错误。
2、tidb从库集群为:v6.5.0版本,程序连接集群,不报错误。
3、近期为了同时支持tiflash和接收上游ticdc的数据同步,将tidb从库集群,降级到v6.1.5版本。
4、但是,降级版本后,程序连接tidb从库集群,研发人员反馈最近经常报截图中的错误。
怀疑可能是tidb版本或程序使用的驱动的版本问题,我这边再和开发人员确认调整一下驱动版本试下。
在论坛里,看到一个这个帖子,挺错的:
1 个赞
空闲连接超时了吧。建议调整空闲连接超时时长,或者应用方在连接池加检测机制。
扩容吧
不懂。。主库高版本,从库低版本,没问题吗?
mysql> show variables like 'wait_timeout';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| wait_timeout | 172800 |
+---------------+--------+
1 row in set (0.00 sec)
mysql> show variables like 'interactive_timeout';
+---------------------+--------+
| Variable_name | Value |
+---------------------+--------+
| interactive_timeout | 172800 |
+---------------------+--------+
1 row in set (0.00 sec)
mysql> show variables like 'max_execution_time';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| max_execution_time | 0 |
+--------------------+-------+
1 row in set (0.00 sec)
这个是因为主从库集群都是从v5.4.0版本升级到v6.5.0版本后,从库集群出现tiflash和上游ticdc无法共存的问题,官方的技术大佬,给出现的临时解决方案,降级从库集群的版本为v6.1.5才得以解决。
但是,主从库集群版本不同,从库又引入了新问题,就是报错截图的那个问题。
tiflash和上游ticdc无法共存的原因是不是, ticdc 版本过低导致与高版本的tiflash 不能兼容?
参数已经设置得很大了,建议让应用程序修改连接池配置。
您把 jdbc 连接串信息发来看下
url: jdbc:mysql://[10.3.xx.190:4000/my_db?characterEncoding=UTF-8&characterSetResults=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowMultiQueries=true&allowPublicKeyRetrieval=true&useServerPrepStmts=true&cachePrepStmts=true&prepStmtCacheSqlLimit=10240&prepStmtCacheSize=1000&rewriteBatchedStatements=true&useConfigs=maxPerformance&zeroDateTimeBehavior=convertToNull](http://10.4.7.190:4000/maindb?characterEncoding=UTF-8&characterSetResults=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowMultiQueries=true&allowPublicKeyRetrieval=true&useServerPrepStmts=true&cachePrepStmts=true&prepStmtCacheSqlLimit=10240&prepStmtCacheSize=1000&rewriteBatchedStatements=true&useConfigs=maxPerformance&zeroDateTimeBehavior=convertToNull)
研发人员反馈说,尝过添加重连接机制,也是报同样的问题。
命令行mysql client可以连接吗?你们这操作太骚了
为何要降版本