MySQL 8错误日志出现"The table /home/work/mysql_3306/tmp/#sqla2b_298b06_4d is fu11!"

##############

 

 

 

 了解MySQL 8.0.26的错误日志出现"The table  /home/work/mysql_3306/tmp/#sqla2b_298b06_4d is fu11!"的bug,暂时通过修改临时表的存储引擎为内存引擎解决

 

 MySQL8.0.13 开始引入新的临时内存表引擎 TempTable,并将其作为内存中创建临时表的默认存储引擎。

TempTable引擎大小由参数temptable_max_ram、temptable_max_mmap控制,该两个参数默认值为 1G。

当查询语句使用内存临时表分配空间超过 temptable 引擎的限制时(temptable_max ram+temptable),temptatable 引擎由于内部逻辑处理有问题,直接返回 tableisfull 错误,导致查询语句执行失败。

如果临时表存储引擎为 memory,会将超过分配空间的内存临时表置换为磁盘临时表,保证查询语句正常运行,建议将内存临时表

解决方案:

1.更改临时表存储引擎;

2.升级到MySQL 8.0.27

 

 

 

 

############

 

posted @ 2023-06-01 16:37  igoodful  阅读(52)  评论(0编辑  收藏  举报