Adobe Commerce上的資料庫儲存疑難排解員

本文提供在Adobe Commerce上診斷及解決資料庫儲存問題的逐步疑難排解指南。 它有助於識別與/tmp/data/mysql中缺少空間、資訊節點耗盡,以及組態變更(例如非預設的MySQL tmpdir)相關的根本原因。 每個步驟都會顯示診斷問題,並根據您的回答將您導向相關的命令、日誌或檔案。

說明 description

環境

雲端基礎結構上的Adobe Commerce

問題/症狀

  • 資料庫儲存問題所造成的網站中斷或停機。
  • 錯誤,例如​ 裝置(28) ​沒有剩餘空間。
  • 無法透過SSH連線至節點,因為/tmp裝載已滿。
  • /tmp/data/mysql目錄中的磁碟使用量高。
  • 客戶無法將產品新增到購物車。
  • 資料庫連線失敗。
  • Galera叢集錯誤,例如​SQLSTATE[ 08S01] :通訊連結失敗: 1047 WSREP
  • 查詢會用儘可用的儲存空間並造成節點當機。
  • IUse% > 90%所指示的Inode耗盡(檔案過多)。

解決方法 resolution

步驟1 — 識別有空間問題的目錄

您是否有因空間不足所導致的/tmp問題?

這可以用一系列症狀來表示,包括:

  • /tmp裝載已滿
  • 網站停止運作或中斷
  • 無法透過SSH連線至節點
  • 錯誤,例如​裝置上已無剩餘空間(28)

如需因/tmp已滿而產生的錯誤清單,請檢閱/tmp裝載已滿

或您是否有因空間不足而導致的/data/mysql問題? 症狀包括:

  • 網站中斷
  • 客戶無法將產品新增到購物車
  • 資料庫連線失敗
  • Galera錯誤,例如​SQLSTATE[ 08S01] :通訊連結失敗: 1047 WSREP

如需MySQL磁碟空間不足所造成的錯誤清單,請參閱雲端基礎結構上Adobe Commerce上的MySQL磁碟空間不足

如果您不確定是否有磁碟空間問題,且您有New Relic帳戶,請移至New Relic基礎架構監視主機頁面。 從那裡:

  • 按一下「儲存空間」標籤
  • 圖表顯示 下拉式清單從5個結果變更為20個
  • 在「已使用磁碟百分比」圖表或表格中,檢視表格中是否有高磁碟使用率

如需詳細步驟,請參閱New Relic基礎架構監控>儲存標籤

如果您有上述任何症狀,請檢查索引節點的狀態,以確定這不是檔案編號問題所造成。 在CLI/終端機中執行:

code language-none
df -ih

IUse% >是90%嗎?

然後繼續步驟3。

步驟2 — 檢查磁碟空間

檢查磁碟空間使用量?

在減少檔案數之後,請在CLI/終端機中執行下列命令,以檢查/tmp/data/mysql中的磁碟空間使用量。

code language-none
df -h | grep mysql
df -h | grep tmp

/tmp/data/mysql的使用率是否超過70%?

  • — 繼續步驟3。

  • — 查詢可能耗儘可用的儲存空間。 這可能會造成節點當機,導致查詢停止並移除tmp個檔案。 登入MySQL命令列使用者端並執行:

    code language-none
    SHOW PROCESSLIST;
    

檢查輸出是否有問題的查詢。 如果無法解決,請送出支援票證要求更多空間。

步驟3 — 識別高使用率的目錄

哪個目錄的使用率超過70%?
  • /tmp — 繼續步驟4。
  • /data/mysql — 繼續步驟5。

注意:根據預設,資料庫tmpdir會寫入/tmp。 若要檢查您的資料庫組態,請登入MySQL命令列使用者端並執行:

code language-none
SHOW VARIABLES LIKE "TMPDIR";

如果tmpdir仍在寫入/tmp,您會在[值]欄中看到/tmp

步驟4 — 疑難排解/tmp掛載已滿

疑難排解/tmp掛載已滿

請依照疑難排解Adobe Commerce的/tmp掛載已滿。 套用解決方案後,在CLI/終端機中執行:

code language-none
df -h | grep mysql
df -h | grep tmp

使用量是< 70%嗎?

注意: 疑難排解/tmp mount full中的解決方案是專為未變更資料庫tmpdir變數的商戶所設計,預設會寫入/tmp。 如果您已變更tmpdir值,疑難排解/tmp掛載完整中的指示將不適用。

步驟5 — 檢查預設

檢查預設值

您的資料庫組態可能不再為原始預設值。 在MySQL命令列使用者端中執行以尋找資料庫tmpdir設定: SELECT @@DATADIR;

如果輸出/data/mysql/,則tmpdir正在寫入/data/mysql/。 在雲端基礎結構上的Adobe Commerce 上,執行MySQL磁碟空間不足的步驟來增加空間。 然後在CLI/終端機中執行:

code language-none
df -h | grep mysql
df -h | grep tmp

使用量是< 70%嗎?

相關閱讀

在Commerce實作行動手冊中修改資料庫資料表的最佳實務

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f