MySQL Error number: 4121; Symbol: ER_TP_QUERY_THRS_PER_GRP_EXCEEDS_TXN_THR_LIMIT; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: 4121; Symbol: ER_TP_QUERY_THRS_PER_GRP_EXCEEDS_TXN_THR_LIMIT; SQLSTATE: HY000
Message: Query threads count(%u) exceeds transaction threads limit(%u) per group. Please use query threads count per group smaller or equal to max transaction threads limit per group
错误4121:ER_TP_QUERY_THRS_PER_GRP_EXCEEDS_TXN_THR_LIMIT:
错误说明:
这是MySQL中的一个错误,当分组中的多个查询线程数超过事务并发限制时,将会抛出此错误。此错误是MySQL自8.0.11版本开始支持的新错误,其意思是事务Threshold超出了分组内查询线程的最大数量限制,即事务处理线程数大于分组内允许的查询线程数。
常见案例
此错误可能由多种原因引起,例如:
-MySQL的事务并发限制尝试来限制给定分组的查询线程数量,但实际上查询线程数量超过了该限制。
-由于服务器负载不均,某个分组中的查询线程数量超过了限制。
解决方法:
-您可以通过修改MySQL配置文件来增加或减少事务并发限制,以改善服务器性能,并增加它所处理的查询线程数量。
-你也可以尝试调整MySQL服务器的负载。如果某个分组中的查询线程数量超出了限制,可以尝试调整服务器负载,以分散该压力。
-另外,您可以尝试在MySQL中执行相关查询,以便查看具体分组是否出现此问题:
SHOW PROCESSLIST;
-最后,MySQL的innodb_push_query_group_threshold参数可用于限制分组内查询线程的数量。你可以尝试调整此参数,以避免上述问题。