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

 

 

 

 

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章