Mariadb

插入上的 MariaDB|‘刪除’/tmp/#sql-temptable-e931-bc-5.MAI’時出錯(錯誤程式碼:2“沒有這樣的文件或目錄”)’

  • August 24, 2022

從今天早上開始,我們的 MariaDB 實例開始出現以下錯誤。

刪除“/tmp/#sql-temptable-e931-bc-5.MAI”時出錯(錯誤程式碼:2“沒有這樣的文件或目錄”)

這發生在任何 DML 命令上。

有沒有人遇到過這種情況?

我想不出這怎麼可能發生。這裡有一些關於正在發生的事情的說明。

  • 像這樣的文件名用於內部生成的臨時表。
  • 當需要建構臨時表作為執行查詢的最簡單/最快的方式時,此類文件用於復雜SELECTs等。
  • 這樣的表是$$ normally $$查詢完成時刪除(取消連結)。
  • 如果伺服器在查詢結束之前崩潰,這樣的“刪除”就不會發生,所以它仍然存在。
  • 如果tmpdir專門指向“/tmp”,則作業系統將在重新啟動後折騰表。
  • 如果tmpdir指向“/tmp”以外的任何位置,則此類文件可能會保留下來並使磁碟混亂。它們可以安全地移除。(在 *nix 中,rm即使查詢沒有完成也可以安全地使用它。這是作業系統的魔法。)
  • 權限/tmp是這樣的,永遠不會有問題,所以我無法解釋你的情況。

引用自:https://dba.stackexchange.com/questions/315935