本頁說明 MySQL 執行個體的高可用性 (HA) 舊版設定。
在舊版 HA 設定中,MySQL 適用的 Cloud SQL 執行個體會使用容錯移轉備用資源,為執行個體提供高可用性。 Google Cloud 控制台不支援這項功能。建議的設定不會使用備援副本。相反地,目前的高可用性設定會使用 Google 區域永久磁碟,這項功能會在區域內的兩個可用區之間,以區塊層級同步複製資料。
如要進一步瞭解目前的高可用性設定,請參閱「高可用性設定總覽」。
將執行個體從舊版更新為目前的高可用性
如要將執行個體從舊版更新為目前的高可用性設定,請按照下列步驟操作:
將執行個體更新為目前的高可用性設定。
- 刪除要更新的 MySQL 執行個體的容錯移轉備用資源。詳情請參閱「在執行個體上停用高可用性」。
- 將主要執行個體設定為使用目前的高可用性版本。詳情請參閱「設定現有高可用性執行個體」。
另一個選項是使用資料庫移轉服務,遷移至使用目前高可用性設定的執行個體。
建立唯讀備用資源執行個體,以分擔您不想在主要執行個體上執行的任何讀取工作負載。
啟動容錯移轉
測試容錯移轉是選用功能,但我們建議您執行這項功能,這樣才能瞭解應用程式在發生容錯移轉時的回應方式。
如要進一步瞭解容錯移轉,請參閱容錯移轉總覽。
gcloud
啟動容錯移轉:
gcloud sql instances failover PRIMARY_INSTANCE_NAME
curl
- 說明主要例項,以取得
settingsVersion
欄位的值。gcloud auth login ACCESS_TOKEN="$(gcloud auth print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ -X GET \ https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME
- 啟動容錯移轉:
gcloud auth login ACCESS_TOKEN="$(gcloud auth print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"failoverContext":{"settingsVersion":"SETTINGS_VERSION"}}' \ -X POST \ https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME/failover
執行個體開始容錯移轉,會有幾分鐘的時間無法提供資料。
舊版設定:建立複製延遲的快訊
容錯移轉作業所需的時間取決於啟動容錯移轉時的複寫延遲量。您可以使用Google Cloud 主控台中的 Cloud Monitoring,在複製延遲時間超過門檻時發出警示。
如要進一步瞭解複製作業延遲,請在 MySQL 說明文件的 SHOW SLAVE STATUS 語法頁面上搜尋「seconds_behind_master」。
如要進一步瞭解 Cloud Monitoring,請參閱 Cloud Monitoring 說明文件。
舊版設定:設定特定容錯移轉備用資源的快訊
- 在 Google Cloud 控制台的導覽面板中,依序選取「Monitoring」(監控) 和「Alerting」(快訊)。
- 按一下 [Create Alerting Policy] (建立快訊政策)。
- 輸入快訊的描述性名稱。
- 選取 [Metric Threshold] (指標門檻),接著點選 [Next] (下一步) 以開啟「Target」(目標) 分頁。
- 在「Resource Type」(資源類型) 中,選取 [Cloud SQL]。
- 在「Applies To」(套用目標) 中,選取 [Single] (單一),接著選取容錯移轉備用資源。
- 點選 [Next] (下一步) 以開啟「Configuration」(設定) 分頁。
輸入下列值:
欄位 值 If Metric 落後主要執行個體的秒數 Condition 超過 Thresholds 120 (或任何適用於您環境的值) For 3 分鐘 選取「Notification」(通知)方法,然後按一下「Save Condition」(儲存條件)。
舊版設定:為一組容錯移轉備用資源設定快訊
如果您打算在同一個專案中建立多個備援副本,建議您為整個群組設定快訊,而非為每個備援副本個別設定。如要建立監控群組,請在容錯移轉副本名稱中使用後置字元,例如「-failover」。請確認您不會在任何其他類型的 Cloud SQL 執行個體中使用這個後置字串。
建立容錯移轉備用資源群組:
-
前往 Google Cloud 控制台的「Monitoring」頁面。
- 在上方選單列中,依序選取「Groups」 >「Create...」。
- 輸入群組的描述性名稱。
- 讓「Name」(名稱) 和「Contains」(包含) 維持在已選取狀態,然後輸入名稱子字串。
- 按一下「儲存群組」。畫面上會開啟新群組的摘要頁面。
- 確認想要的執行個體在該群組中。
建立容錯移轉備用資源群組的快訊:
- 在 Google Cloud 控制台的導覽面板中,依序選取「Monitoring」(監控) 和「Alerting」(快訊)。
- 按一下 [Create Alerting Policy] (建立快訊政策)。
- 輸入群組快訊的描述性名稱。
- 選取 [Metric Threshold] (指標門檻),接著點選 [Next] (下一步) 以開啟「Target」(目標) 分頁。
- 在「Resource Type」(資源類型) 中,選取 [Cloud SQL]。
- 在「Applies To」(套用目標) 中,選取 [Group] (群組),然後選取您的容錯移轉群組。
- 讓 [Any Member Violates] (任何成員違反) 維持在已選取狀態,並按一下 [Next] (下一步) 以開啟「Configuration」(設定) 分頁。
輸入下列值:
欄位 值 If Metric 落後主要執行個體的秒數 Condition 超過 Thresholds 120 (或任何適用於您環境的值) For 3 分鐘 選取您想要的「Notification」(通知) 方法,然後按一下 [Save Condition] (儲存條件)。
舊版設定:停用執行個體的高可用性
您必須刪除容錯移轉備用資源執行個體,才能移除主要執行個體的高可用性。
執行這項程序之前,請先確定主要執行個體上目前沒有任何執行中的作業。
停用高可用性的方式如下:
控制台
-
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
- 選取與您要停用高可用性之執行個體相關聯的容錯移轉執行個體。
- 在「Instance details」(執行個體詳細資料) 頁面中,按一下「Delete」(刪除)。
- 在「Delete Replica」(刪除備用資源) 視窗中,重新輸入容錯移轉執行個體的名稱。
- 按一下 [Delete] (刪除),原始執行個體的設定即會改為區域。
gcloud
如需參考資訊,請參閱gcloud sql instances delete
。gcloud sql instances delete FAILOVER_REPLICA_NAME
curl
以下要求使用instances:delete
方法刪除執行個體。gcloud auth login ACCESS_TOKEN="$(gcloud auth print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json'\ -X DELETE\ https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_NAME
後續步驟
- 進一步瞭解高可用性設定的運作方式。
- 重新啟動執行個體,測試應用程式如何回應連線中斷。
- 進一步瞭解如何管理資料庫連線。
- 進一步瞭解 Cloud Monitoring
- 為您的執行個體建立唯讀備用資源。