參數群組概觀 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

參數群組概觀

資料庫叢集參數群組扮演引擎組態值的容器,而這些值套用到資料庫叢集的每個 Aurora 資料庫執行個體。例如,Aurora 共用儲存模型要求所有 Aurora 叢集中的資料庫執行個體使用相同參數設定,如 innodb_file_per_table。因此,影響實體儲存配置的參數是叢集參數群組的一部份。資料庫叢集參數群組也包含所有執行個體層級參數的預設值。

資料庫參數群組扮演引擎組態值的容器,以套用至一或多個資料庫執行個體。資料庫參數群組可應用於 Amazon RDS 和 Aurora 的資料庫執行個體。這些群態設定適用於因 Aurora 叢集內資料庫執行個體而有所不同的屬性,如記憶體緩衝的尺寸。

預設和自訂參數群組

如果建立的資料庫執行個體未指定資料庫參數群組,則會使用預設的資料庫參數群組。同樣地,如果您建立 Aurora 資料庫叢集,而未指定資料庫叢集參數群組,資料庫叢集將使用預設的資料庫叢集參數群組。每個預設的參數群組將依引擎、運算等級和執行個體分配儲存包含資料庫引擎預設值和 Amazon RDS 系統預設值。

您無法修改預設參數群組的參數設定。相反地,您可以執行下列作業:

  1. 建立新的參數群組。

  2. 變更所需參數的設定。並非參數群組中的所有資料庫引擎參數都有資格進行修改。

  3. 修改資料庫執行個體或資料庫叢集,以建立新參數群組的關聯。

    如需修改資料庫叢集或資料庫執行個體的相關資訊,請參閱 修改 Amazon Aurora 資料庫叢集

    注意

    如果您已將資料庫執行個體修改為使用自訂參數群組,並啟動資料庫執行個體,RDS 會在啟動過程中自動重新啟動資料庫執行個體。

RDS 只會在資料庫執行個體重新啟動後,才會在新關聯的參數群組中套用修改後的靜態和動態參數。不過,如果您在將資料庫參數群組與資料庫執行個體建立關聯之後修改該群組中的動態參數,則會立即套用這些變更,而不需重新開機。如需變更資料庫叢集參數群組的詳細資訊,請參閱 修改 Amazon Aurora 資料庫叢集

如果您在資料庫參數群組內更新參數,變更會應用到所有和參數群組建立連結的資料庫執行個體。同樣地,如果您在 Aurora 資料庫叢集參數群組內更新參數,變更會套用到所有與資料庫叢集參數群組相關聯的 Aurora 資料庫叢集。

如果您不想從頭開始建立參數群組,可以使用 AWS CLI copy-db-parameter-group指令或 copy-db-cluster-parameter-group 指令複製現有的參數群組。在某些情況下,您可能會發現複製參數群組很有用。例如,您可能想要將其大部份現有參數群組的自訂參數及值併入新的參數群組。

靜態和動態資料庫叢集參數

資料庫叢集參數可為靜態或動態。它們在下列方面有所不同:

  • 當您變更靜態參數並儲存資料庫叢集參數群組時,參數變更會在您手動重新啟動每個相關資料庫叢集中的資料庫執行個體後生效。當您使用變 AWS Management Console 更靜態資料庫叢集參數值時,它一律會使pending-rebootApplyMethod.

  • 變更動態參數時,參數變更預設會立即生效,無需重新啟動。當您使用主控台時,其一律使用 immediate 作為 ApplyMethod。若要將參數變更延遲到重新啟動關聯資料庫叢集中的資料庫執行個體之後,請使用 AWS CLI 或 RDS API。將 ApplyMethod 設定為 pending-reboot 以進行參數變更。

如需有關使用變更參數值 AWS CLI 的詳細資訊,請參閱 modify-db-cluster-parameter-group。如需有關使用 RDS API 變更參數值的詳細資訊,請參閱修改ClusterParameterGroup資料庫。

如果變更與資料庫叢集相關聯的資料庫叢集參數群組,請重新啟動資料庫叢集中的資料庫執行個體。重新啟動會將變更套用至資料庫叢集中的所有資料庫執行個體。如要判斷資料庫叢集的資料庫執行個體是否必須重新啟動才能套用變更,請執行下列 AWS CLI 命令。

aws rds describe-db-clusters --db-cluster-identifier db_cluster_identifier

檢查輸出中主要資料庫執行個體的 DBClusterParameterGroupStatus 值。若值為 pending-reboot,則重新啟動資料庫叢集的資料庫執行個體。

靜態和動態資料庫執行個體參數

資料庫執行個體參數可為靜態或動態。它們不同之處如下:

  • 當您變更靜態參數並儲存資料庫參數群組時,參數變更會在您手動重新啟動相關聯的資料庫執行個體後生效。若為靜態參數,主控台一律將 pending-reboot 用於 ApplyMethod

  • 變更動態參數時,參數變更預設會立即生效,無需重新啟動。當您使用變更 AWS Management Console 資料庫執行個體參數值時,它一律會用immediateApplyMethod於動態參數。若要將參數變更延遲到重新啟動關聯的資料庫執行個體之後,請使用 AWS CLI 或 RDS API。將 ApplyMethod 設定為 pending-reboot 以進行參數變更。

如需使用變更參數值的 AWS CLI 詳細資訊,請參閱modify-db-parameter-group。如需有關使用 RDS API 變更參數值的詳細資訊,請參閱修改ParameterGroup資料庫。

如果資料庫執行個體未在其相關聯的資料庫參數群組中使用最新的變更,主控台會將資料庫參數群組的狀態顯示為 pending-reboot。此狀態不會在下一個維護時段期間造成自動重新啟動。如欲對該資料庫執行個體套用最新參數變更,請手動重新啟動資料庫執行個體。

字元集參數

在建立資料庫叢集之前,先在參數群組中設定與字元集或資料庫定序相關的任何參數。也會在其中建立資料庫之前這樣做。透過此方式,您可以確保預設資料庫和新資料庫皆使用您指定的字元集和定序值。如果您變更字元集和定序參數,參數變更將不會套用到現有資料庫。

針對部分資料庫引擎,您可以使用 ALTER DATABASE 命令變更現有資料庫的字元集或定序值,例如:

ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;

如需變更資料庫的字元集或定序值的詳細資訊,請參閱適用於您資料庫引擎的文件。

支援的參數和參數值

若要判斷資料庫引擎的支援參數,您可以檢視資料庫執行個體或資料庫叢集所使用的資料庫參數群組和資料庫叢集參數群組中的參數。如需詳細資訊,請參閱 檢視資料庫參數群組的參數值檢視資料庫叢集參數群組的參數值

在許多情況下,您可使用運算式、公式和函數來指定整數及布林值參數。函數可包含數學的對數表達式。但是,並非所有參數都支援參數值的表達式、公式和函數。如需詳細資訊,請參閱 指定資料庫參數

如果是 Aurora 全球資料庫,您可以針對個別的 Aurora 叢集來指定不同的組態設定。請確保這些設定有足夠的相似度,而足以在您將次要叢集提升為主要叢集時產生一致的行為。例如,在 Aurora 全球資料庫的所有叢集上,對時區和字元集使用相同的設定。

未正確設定參數群組中的參數,可能產生各種意外影響,包括效能降低和系統不穩定。修改資料庫參數時請務必謹慎,在修改參數群組之前,請備份資料。在將這些參數群組變更套用到生產資料庫執行個體或資料庫叢集之前,請在測試資料庫執行個體或資料庫叢集上嘗試參數群組設定變更。