錯誤1436:了解MySQL 的執行緒堆疊溢位
嘗試執行更新查詢時,遇到一個令人費解的錯誤:「線程堆疊溢位」 :131072 位元組堆疊使用了6136 字節,需要128000 位元組。 「深入研究程式碼,我們發現當執行緒執行的堆疊記憶體不足時,會觸發錯誤1436 (ER_STACK_OVERRUN_NEED_MORE)。
預設執行緒堆疊大小和設定
通常, MySQL 將執行緒堆疊大小設定為預設值192K(32 位元架構)或256K(64 位元平台)。可能的原因
這個問題可能源自於多種原因:
使用修改後的預設堆疊大小建立自訂伺服器
確定實際執行緒堆疊大小,執行以下查詢:
檢查my.cnf 檔案中是否有任何明確thread_stack 設定。 🎜>要解決此錯誤,請專注於增加線程堆疊:
SHOW VARIABLES LIKE 'thread_stack';
編輯my.cnf 並將'thread_stack' 設為大於預設值的值(例如512K 或1MB)。執行「SHOW VARIABLES LIKE 'thread_stack';」已如預期修改了堆疊大小;'
其他注意事項
以上是為什麼我會收到 MySQL 錯誤 1436:線程堆疊溢位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!