Aurora MySQL 相容的本機儲存空間中儲存了哪些內容,以及如何疑難排解本機儲存空間問題?

1 分的閱讀內容
0

Amazon Aurora MySQL 相容的本機儲存空間中儲存了哪些內容?如何疑難排解儲存容量問題?

簡短描述

Aurora 叢集中的執行個體具有兩種儲存類型:

  • 持續性資料的儲存空間 (稱為叢集磁碟區)。當需要更多空間時,此存儲類型會自動增加。如需詳細資訊,請參閱叢集磁碟區包含的內容
  • 根據執行個體類別,叢集中每個 Aurora 執行個體的本機儲存空間。此儲存體類型和大小受到執行個體類別約束,只能透過移至較大的資料庫執行個體類別進行變更。適用於 MySQL 的 Aurora 使用本機儲存空間來儲存錯誤日誌、一般日誌、慢速查詢日誌、稽核日誌和非 InnoDB 暫存資料表。

如需有關本機儲存空間大小的詳細資訊,以及查看每個執行個體大小的可用儲存空間上限,請參閱 Aurora MySQL 的臨時儲存空間限制

解決方法

可用存儲空間容量低錯誤

當您接近可用儲存空間容量的限制時,您可能會收到下列錯誤:

"The free storage capacity for DB Instance: instance-name is low at x% of the provisioned storage [Provisioned Storage: xx GB, Free Storage: xx GB].You may want to increase the provisioned storage to address this issue."(資料庫執行個體的可用儲存空間容量:執行個體名稱很低,只有佈建儲存空間的 x%;已佈建儲存空間:xx GB,可用儲存空間:xx GB。您可能想要增加佈建的儲存空間來解決此問題。)

當您將非持續性資料 (例如暫存資料表和日誌檔案) 儲存在本機儲存空間中時,本機儲存空間可達到容量。檢查您是否正在運行 ALTER TABLE 命令,或者您是否存儲了過多的暫存資料表。透過最佳化 ALTER 命令和暫存資料表,您可以降低本機儲存空間使用量。多次執行類似這樣的命令,以查看執行個體上的暫存資料表數量:

SHOW GLOBAL STATUS LIKE 'created_tmp%tables';

要監視在特定時間範圍內建立的暫存資料表數量,您可以啟用 GoSH。這可讓您將伺服器狀態變數儲存在資料表中,以便稍後檢閱以供進一步分析。

檢閱 FreeableMemory 的 Amazon CloudWatch 指標,以判斷有多少可用記憶體。然後,檢查稽核日誌檔案、一般日誌或慢速查詢日誌是否耗用您的空間。您可以使用適用於 FreeLocalStorage 的 CloudWatch 指標來監視與 Aurora 執行個體相關聯的本機儲存空間。如需詳細資訊,請參閱在 Amazon Aurora 叢集中監控指標

如果您需要更多儲存空間,可以增加本機儲存空間。若要增加本機儲存空間,您必須增加資料庫執行個體類別。有關詳情,請參閱 Aurora 資料庫執行個體類別

您也可以增加參數 max_heap_table_sizetmp_table_size 的值。修改這些參數可減少溢入磁碟的資料量,進而減少使用的本機儲存體數量。您可以在附加至執行個體的參數群組中修改這些參數。如需詳細資訊,請參閱使用參數群組

**注意:**如果您增加 max_heap_table_sizetmp_table_size的值,則資料表會在執行個體上消耗更多記憶體。如果您增加這些值,請確定執行個體上有足夠的可用記憶體。您可以使用適用於 FreeableMemory 的 CloudWatch 指標來監視可用記憶體。

錯誤 1114 資料表已滿

當 MySQL 執行操作,如 ALTER TABLE,它建立一個中繼暫存資料表與新的模式。然後,MySQL 在刪除舊資料表之前將資料加載到中繼資料表中。中繼資料表可能會使用本機儲存空間。如果中繼資料表需要的儲存空間多於可用的儲存空間,您可能會收到下列錯誤:

"ERROR 1114 (HY000): The table 'table-name' is full"(錯誤 1114 (HY000):資料表 'table-name' 已滿)

若要解決此錯誤,請暫時擴展執行個體以增加本機儲存空間。ALTER TABLE 作業完成之後,您可以縮減執行個體類別。若要增加本機儲存空間,您必須增加 Aurora 執行個體類別。有關詳情,請參閱 Aurora 資料庫執行個體類別


相關資訊

如何檢視用於我的 Amazon Aurora MySQL 資料庫叢集的儲存空間?

Aurora MySQL 的臨時儲存空間限制

AWS 官方
AWS 官方已更新 2 年前