使用資料庫叢集參數群組 - Amazon Aurora

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

使用資料庫叢集參數群組

Amazon Aurora 資料庫叢集使用資料庫叢集參數群組。以下各節介紹資料庫叢集參數群組的設定和管理。

Amazon Aurora 資料庫叢集和資料庫執行個體參數

Aurora 使用組態設定的兩層系統:

  • 資料庫叢集參數群組中的參數將套用到資料庫叢集中的每個資料庫執行個體。您的資料儲存在 Aurora 共享儲存子系統中。因此,所有和資料表資料的實體配置相關的參數都必須和 Aurora 叢集中的所有資料庫執行個體相同。同樣地,因為 Aurora 資料庫執行個體透過複寫連線,所有複寫設定的參數都必須和整個 Aurora 叢集相同。

  • 資料庫參數群組中的參數將套用到 Aurora 資料庫叢集中的單一資料庫執行個體。這些參數和某些面向相關,如相同的 Aurora 叢集中依資料庫執行個體而不同的記憶體用量。例如,叢集常包括不同 AWS 執行個體類別的資料庫執行個體。

每個 Aurora 叢集都會和一個資料庫叢集參數群組建立關聯。此參數群組為相應資料庫引擎的每個組態值分配預設值。資料庫叢集參數群組包含叢集層級參數和執行個體層級參數兩者的預設值。佈建或 Aurora Serverless v2 叢集中的每個資料庫執行個體會繼承來自該資料庫叢集參數群組的設定。

每個資料庫執行個體也會與資料庫參數群組相關聯。資料庫參數群組中的值可覆寫來自叢集參數群組的預設值。例如,若叢集中的一個執行個體遇到問題,您可將自訂資料庫參數群組指派給該執行個體。自訂參數群組可能具有與偵錯或效能調校相關參數的特定設定。

當您根據指定的資料庫引擎和版本,建立叢集或新資料庫執行個體時,Aurora 會指派預設參數群組。您可改為指定自訂參數群組。您可自行建立參數群組,並可編輯參數值。您可在建立時指定這些自訂參數群組。您還可於稍後修改資料庫叢集或執行個體以使用自訂參數群組。

若為已佈建和 Aurora Serverless v2 執行個體,您在資料庫叢集參數群組中修改的任何組態值,都會覆寫資料庫參數群組中的預設值。若您在資料庫參數群組中編輯對應的值,則那些值會覆寫來自資料庫叢集參數群組的設定。

即使您將組態參數改回預設值,您修改的資料庫參數設定之優先順序高於資料庫叢集參數群組值。您可以看到哪些參數使用描述-DB-參數 AWS CLI 命令或 DescribeDBParameters RDS API 作業覆寫。如果您修改該參數,則 Source 欄位包括值 user若要重設一或多個參數,使資料庫叢集參數群組中的值優先順序,請使用重設 -db-參數群組 AWS CLI 命令或 Reset DB RDS API 作業。ParameterGroup

Aurora 中可供您使用的資料庫叢集和資料庫執行個體參數,根據資料庫引擎相容性而有所不同。

注意

Aurora Serverless v1 叢集僅具有資料庫叢集參數群組,而非資料庫參數群組。若為 Aurora Serverless v2 叢集,您可在資料庫叢集參數群組中對自訂參數進行所有變更。

Aurora Serverless v2 使用資料庫叢集參數群組和資料庫參數群組兩者。利用 Aurora Serverless v2,您可修改幾乎所有的組態參數。Aurora Serverless v2 會覆寫某些與容量相關組態參數的設定,則當 Aurora Serverless v2 執行個體縮減規模時,不會中斷您的工作負載。

如需進一步了解 Aurora Serverless 組態設定和您可修改的設定,請參閱 使用 Aurora Serverless v2 的參數群組Aurora Serverless v1 的參數群組

建立資料庫叢集參數群組

您可以使用 AWS Management Console、或 RDS API 建立新的資料庫叢集參數群組。 AWS CLI

建立資料庫叢集參數群組後,請等待至少 5 分鐘,然後再建立使用該資料庫叢集參數群組的資料庫叢集。執行此動作允許 Amazon RDS 完整建立參數群組,再將其供新資料庫叢集使用。您可以使用 Amazon RDS 主控台Parameter groups (參數群組) 頁面或 describe-db-cluster-parameters 命令確認是否已建立資料庫叢集參數群組。

下列限制適用於資料庫叢集參數群組名稱:

  • 名稱必須為 1 到 255 個字母、數字或連字號。

    預設參數群組名稱可以包括句點,例如 default.aurora-mysql5.7。不過,自訂參數群組名稱不能包括句點。

  • 第一個字元必須是字母。

  • 名稱不能以連字號結尾或包含兩個連續連字號。

建立資料庫叢集參數群組
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)。

  3. 選擇 Create parameter group (建立參數群組)

    Create parameter group (建立參數群組) 視窗隨即出現。

  4. Parameter group family (參數群組系列) 清單中,選擇資料庫參數群組系列

  5. 在 [類型] 清單中,選取 [資料庫叢集參數群組]。

  6. Group name (群組名稱) 方塊中輸入新資料庫叢集參數群組的名稱。

  7. Description (描述) 方塊中輸入新資料庫叢集參數群組的描述。

  8. 選擇建立

若要建立資料庫叢集參數群組,請使用 AWS CLI create-db-cluster-parameter-group指令。

以下範例將為 Aurora MySQL 5.7 版建立名為 mydbclusterparametergroup,描述為 My new cluster parameter group (我的新叢集參數群組) 的資料庫叢集參數群組。

包含下列必要參數:

  • --db-cluster-parameter-group-name

  • --db-parameter-group-family

  • --description

若要列出所有可用的參數群組系列,請使用下列命令:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
注意

輸出包含重覆項目。

範例

對於LinuxmacOS、或Unix:

aws rds create-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbclusterparametergroup \ --db-parameter-group-family aurora-mysql5.7 \ --description "My new cluster parameter group"

在 Windows 中:

aws rds create-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --db-parameter-group-family aurora-mysql5.7 ^ --description "My new cluster parameter group"

此命令會產生類似下列的輸出:

{ "DBClusterParameterGroup": { "DBClusterParameterGroupName": "mydbclusterparametergroup", "DBParameterGroupFamily": "aurora-mysql5.7", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup" } }

若要建立資料庫叢集參數群組,請使用 RDS API CreateDBClusterParameterGroup 動作。

包含下列必要參數:

  • DBClusterParameterGroupName

  • DBParameterGroupFamily

  • Description

將資料庫叢集參數群組與資料庫叢集建立關聯

您可以使用自訂設定,建立自己的資料庫叢集參數群組。您可以使用 AWS Management Console、或 RDS API 將資料庫叢集參數群組與資 AWS CLI料庫叢集相關聯。您可以在建立或修改資料庫叢集時執行此動作。

如需建立資料庫叢集參數群組的詳細資訊,請參閱建立資料庫叢集參數群組。如需建立資料庫叢集的詳細資訊,請參閱建立 Amazon Aurora 資料庫叢集。如需修改資料庫叢集的詳細資訊,請參閱修改 Amazon Aurora 資料庫叢集

注意

對於 Aurora PostgreSQL 15.2、14.7、13.10、12.14 和所有 11 個版本,當您變更與資料庫叢集關聯的資料庫叢集參數群組時,請重新啟動每個複本執行個體以套用變更。

若要判斷資料庫叢集的主要資料庫執行個體是否必須重新啟動才能套用變更,請執行下列 AWS CLI 命令:

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

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

將資料庫叢集參數群組與資料庫叢集建立關聯
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中選擇 Databases (資料庫),然後選取您要修改的資料庫叢集。

  3. 選擇 Modify (修改)Modify DB cluster (修改資料庫叢集) 頁面隨即出現。

  4. 變更 DB cluster parameter group (資料庫叢集參數群組) 設定。

  5. 選擇 Continue (繼續),並檢查修改的摘要。

    無論 Scheduling of modifications (修改排程) 設定為何,都會立即套用變更。

  6. 在確認頁面上,檢閱您的變更。如果都正確,請選擇 Modify cluster (修改叢集) 以儲存您的變更。

    或者,選擇 Back (上一步) 以編輯變更,或是選擇 Cancel (取消) 以取消變更。

若要將資料庫叢集參數群組與資料庫叢集產生關聯,請搭配下列選項使用 AWS CLI modify-db-cluster指令:

  • --db-cluster-name

  • --db-cluster-parameter-group-name

下面的範例將 mydbclpg 資料庫參數群組與 mydbcluster 資料庫叢集建立關聯。

範例

對於LinuxmacOS、或Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --db-cluster-parameter-group-name mydbclpg

在 Windows 中:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --db-cluster-parameter-group-name mydbclpg

若要將資料庫叢集參數群組與資料庫叢集建立關聯,請使用 RDS API ModifyDBCluster 操作搭配下列參數:

  • DBClusterIdentifier

  • DBClusterParameterGroupName

修改資料庫叢集參數群組中的參數

您可以修改客戶建立的資料庫叢集參數群組中參數值。您無法變更預設資料庫叢集參數群組中的參數值。客戶建立的資料庫叢集參數群組中的參數變更會套用到與該資料庫叢集參數群組關聯的所有資料庫叢集。

修改資料庫叢集參數群組
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)

  3. 在清單中,選擇您要修改的參數群組。

  4. 針對 Parameter group actions (參數群組動作),選擇 Edit (編輯)

  5. 變更您想要修改的參數值。您可用對話方塊右上角的箭頭鍵來捲動參數。

    您無法變更預設參數群組中的值。

  6. 選擇儲存變更

  7. 重新啟動叢集中的主要 (寫入器) 資料庫執行個體,以將變更套用至叢集。

  8. 然後重新啟動讀取器資料庫執行個體,將變更套用至它們。

若要修改資料庫叢集參數群組,請使用具有下列必要參數的 AWS CLI modify-db-cluster-parameter-group命令:

  • --db-cluster-parameter-group-name

  • --parameters

以下範例將修改名稱為 mydbclusterparametergroup​ 的資料庫叢集參數群組的 server_audit_loggingserver_audit_logs_upload 值。

範例

對於LinuxmacOS、或Unix:

aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbclusterparametergroup \ --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" \ "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"

在 Windows 中:

aws rds modify-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^ "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"

該命令會產生類似以下的輸出:

DBCLUSTERPARAMETERGROUP mydbclusterparametergroup

若要修改資料庫叢集參數群組,請使用 RDS API ModifyDBClusterParameterGroup 命令並搭配下列必要參數:

  • DBClusterParameterGroupName

  • Parameters

重設資料庫叢集參數群組中的參數

您可以將參數重設為客戶建立的資料庫叢集參數群組中的預設值。客戶建立的資料庫叢集參數群組中的參數變更會套用到與該資料庫叢集參數群組關聯的所有資料庫叢集。

注意

在預設的資料庫叢集參數群組中,參數永遠設定為其預設值。

將資料庫叢集參數群組中的參數重設為其預設值
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)

  3. 在清單中,選擇參數群組。

  4. 針對 Parameter group actions (參數群組動作),選擇 Edit (編輯)

  5. 選擇您要重設為預設值的參數。您可用對話方塊右上角的箭頭鍵來捲動參數。

    您無法重設預設參數群組中的值。

  6. 選擇「Reset (重設) 」,然後選擇「Reset parameters (重設參數) 」來確認。

  7. 重新啟動資料庫叢集中的主要資料庫執行個體,以將變更套用至資料庫叢集中的所有資料庫執行個體

若要將資料庫叢集參數群組中的參數重設為預設值,請搭配下列必要選項使用 AWS CLI reset-db-cluster-parameter-group命令:--db-cluster-parameter-group-name

若要重設資料庫叢集參數群組中的所有參數,請指定 --reset-all-parameters 選項。若要重設特定參數,請指定 --parameters 選項。

下列範例會將資料庫參數群組中所有名為 mydbparametergroup 的參數重設為其預設值。

範例

對於LinuxmacOS、或Unix:

aws rds reset-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbparametergroup \ --reset-all-parameters

在 Windows 中:

aws rds reset-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbparametergroup ^ --reset-all-parameters

以下範例會將名為 mydbclusterparametergroup 的資料庫叢集參數群組中的 server_audit_loggingserver_audit_logs_upload 重設為其預設值。

範例

對於LinuxmacOS、或Unix:

aws rds reset-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbclusterparametergroup \ --parameters "ParameterName=server_audit_logging,ApplyMethod=immediate" \ "ParameterName=server_audit_logs_upload,ApplyMethod=immediate"

在 Windows 中:

aws rds reset-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^ "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"

該命令會產生類似以下的輸出:

DBClusterParameterGroupName mydbclusterparametergroup

若要將資料庫叢集參數群組中的參數重設為其預設值,請使用 RDS API ResetDBClusterParameterGroup 命令與下列必要參數:DBClusterParameterGroupName

若要重設資料庫叢集參數群組中的所有參數,請將 ResetAllParameters 參數設定為 true。若要重設特定參數,請指定 Parameters 參數。

複製資料庫叢集參數群組

您可複製所建立的自訂資料庫叢集參數群組。如果您已建立資料庫叢集參數群組,並且希望在新資料庫叢集參數群組中包含該組中的大多數自訂參數和值,則複製參數群組是一種方便的解決方案。您可以使用複製 AWS CLI-db 叢集參數群組命令或 RDS API CopyDB 群組作業來複製資料庫叢集參數群組。ClusterParameter

複製資料庫叢集參數群組後,請等待至少 5 分鐘,然後再建立使用該資料庫叢集參數群組的資料庫叢集。執行此動作允許 Amazon RDS 完整複製參數群組,再將其供新資料庫叢集使用。您可以使用 Amazon RDS 主控台Parameter groups (參數群組) 頁面或 describe-db-cluster-parameters 命令確認是否已建立資料庫叢集參數群組。

注意

您無法複製預設參數群組。但您可以依照預設參數群組建立新的參數群組。

您無法將資料庫叢集參數群組複製到不同的 AWS 帳戶 或 AWS 區域.

複製資料庫叢集參數群組
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)

  3. 在清單中,選擇您要複製的自訂參數群組。

  4. 針對 Parameter group actions (參數群組動作),選擇 Copy (複製)

  5. New DB parameter group identifier (新資料庫參數群組識別符) 中,輸入新參數群組的名稱。

  6. Description (描述) 中,輸入新參數群組的描述。

  7. 請選擇 Copy (複製)

若要複製資料庫叢集參數群組,請搭配下列必要參數使用 AWS CLI copy-db-cluster-parameter-group命令:

  • --source-db-cluster-parameter-group-identifier

  • --target-db-cluster-parameter-group-identifier

  • --target-db-cluster-parameter-group-description

以下範例會建立名為 mygroup2 的新資料庫叢集參數群組,該群組為資料庫叢集參數群組 mygroup1 的複本。

範例

對於LinuxmacOS、或Unix:

aws rds copy-db-cluster-parameter-group \ --source-db-cluster-parameter-group-identifier mygroup1 \ --target-db-cluster-parameter-group-identifier mygroup2 \ --target-db-cluster-parameter-group-description "DB parameter group 2"

在 Windows 中:

aws rds copy-db-cluster-parameter-group ^ --source-db-cluster-parameter-group-identifier mygroup1 ^ --target-db-cluster-parameter-group-identifier mygroup2 ^ --target-db-cluster-parameter-group-description "DB parameter group 2"

若要複製資料庫叢集參數群組,請使用 RDS API CopyDBClusterParameterGroup 操作並搭配下列必要參數:

  • SourceDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupDescription

列出資料庫叢集參數群組

您可以列出為您的 AWS 帳戶建立的資料庫叢集參數群組。

注意

當您為特定資料庫引擎和版本建立資料庫叢集時,會從預設的參數範本自動建立預設的參數群組。這些預設參數群組包含偏好的參數設定,無法修改。當您建立自訂參數群組時,您可以修改參數設定。

列出 AWS 帳戶的所有資料庫叢集參數群組
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)

    資料庫叢集參數群組會以 DB cluster parameter group (資料庫叢集參數群組) 出現在 Type (類型) 清單中。

若要列出 AWS 帳戶的所有資料庫叢集參數群組,請使用 AWS CLI describe-db-cluster-parameter-groups指令。

範例

以下範例列出 AWS 帳戶的所有可用資料庫叢集參數群組。

aws rds describe-db-cluster-parameter-groups

以下範例說明 mydbclusterparametergroup 參數群組。

對於LinuxmacOS、或Unix:

aws rds describe-db-cluster-parameter-groups \ --db-cluster-parameter-group-name mydbclusterparametergroup

在 Windows 中:

aws rds describe-db-cluster-parameter-groups ^ --db-cluster-parameter-group-name mydbclusterparametergroup

此命令會傳回類似以下的回應:

{ "DBClusterParameterGroups": [ { "DBClusterParameterGroupName": "mydbclusterparametergroup", "DBParameterGroupFamily": "aurora-mysql5.7", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup" } ] }

若要列出 AWS 帳戶的所有資料庫叢集參數群組,請使用 RDS API DescribeDBClusterParameterGroups動作。

檢視資料庫叢集參數群組的參數值

您可以從資料庫叢集參數群組取得所有參數與其值的清單。

檢視資料庫叢集參數群組的參數值
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)

    資料庫叢集參數群組會以 DB cluster parameter group (資料庫叢集參數群組) 出現在 Type (類型) 清單中。

  3. 選擇資料庫叢集參數群組的名稱,以查看參數清單。

若要檢視資料庫叢集參數群組的參數值,請搭配下列必要參數使用 AWS CLI describe-db-cluster-parameters命令。

  • --db-cluster-parameter-group-name

範例

以下範例列出資料庫叢集參數群組 mydbclusterparametergroup​ 的參數和參數值,為 JSON 格式。

此命令會傳回類似以下的回應:

aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name mydbclusterparametergroup
{ "Parameters": [ { "ParameterName": "allow-suspicious-udfs", "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded", "Source": "engine-default", "ApplyType": "static", "DataType": "boolean", "AllowedValues": "0,1", "IsModifiable": false, "ApplyMethod": "pending-reboot", "SupportedEngineModes": [ "provisioned" ] }, { "ParameterName": "aurora_binlog_read_buffer_size", "ParameterValue": "5242880", "Description": "Read buffer size used by master dump thread when the switch aurora_binlog_use_large_read_buffer is ON.", "Source": "engine-default", "ApplyType": "dynamic", "DataType": "integer", "AllowedValues": "8192-536870912", "IsModifiable": true, "ApplyMethod": "pending-reboot", "SupportedEngineModes": [ "provisioned" ] }, ...

若要檢視資料庫叢集參數群組的參數值,請搭配下列必要參數使用 RDS API DescribeDBClusterParameters 命令。

  • DBClusterParameterGroupName

在某些情況下,不會顯示允許的參數值。這些一律為參數,其中來源是資料庫引擎預設值。

若要檢視這些參數的值,您可以執行下列 SQL 陳述式:

  • MySQL:

    -- Show the value of a particular parameter mysql$ SHOW VARIABLES LIKE '%parameter_name%'; -- Show the values of all parameters mysql$ SHOW VARIABLES;
  • PostgreSQL:

    -- Show the value of a particular parameter postgresql=> SHOW parameter_name; -- Show the values of all parameters postgresql=> SHOW ALL;

刪除資料庫叢集參數群組

您可以使用 AWS Management Console、 AWS CLI或 RDS API 刪除資料庫叢集參數群組。資料庫叢集參數群組參數群組參數群組只有在未與資料庫叢集相關聯時才有資格刪除。

刪除參數群組的步驟
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)。

    參數群組會顯示在清單中。

  3. 選擇要刪除的資料庫叢集參數群組名稱。

  4. 選擇動作,然後選擇刪除

  5. 檢閱參數群組名稱,然後選擇「刪除」。

若要刪除資料庫叢集參數群組,請搭配下列必要參數使用 AWS CLI delete-db-cluster-parameter-group命令。

  • --db-parameter-group-name

範例

下列範例會刪除名為 mydb 參數群組/參數群組的資料庫叢集參數群組。

aws rds delete-db-cluster-parameter-group --db-parameter-group-name mydbparametergroup

若要刪除資料庫叢集參數群組,請使用 RDS API DeleteDBClusterParameterGroup命令搭配下列必要參數。

  • DBParameterGroupName