如何使用 Azure CLI 和 REST API 在 適用於 MariaDB 的 Azure 資料庫 中建立和管理讀取複本
重要
適用於 MariaDB 的 Azure 資料庫 位於淘汰路徑上。 強烈建議您移轉至 適用於 MySQL 的 Azure 資料庫。 如需移轉至 適用於 MySQL 的 Azure 資料庫 的詳細資訊,請參閱 適用於 MariaDB 的 Azure 資料庫 發生什麼事?。
在本文中,您將瞭解如何使用 Azure CLI 和 REST API 在 適用於 MariaDB 的 Azure 資料庫 服務中建立和管理讀取複本。
Azure CLI
您可以使用 Azure CLI 來建立和管理讀取複本。
必要條件
- 安裝 Azure CLI 2.0
- 將做為來源伺服器的 適用於 MariaDB 的 Azure 資料庫 伺服器。
重要
讀取複本功能僅適用於一般用途或記憶體優化定價層中的 適用於 MariaDB 的 Azure 資料庫 伺服器。 請確定來源伺服器位於下列其中一個定價層中。
建立讀取複本
重要
當您為沒有現有複本的來源建立複本時,來源會先重新啟動以準備複寫。 將此納入考慮,並在離峰期間執行這些作業。
您可以使用下列命令來建立讀取複本伺服器:
az mariadb server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup
此指令 az mariadb server replica create
需要下列參數:
設定 | 範例值 | 描述 |
---|---|---|
資源群組 | myresourcegroup | 將建立複本伺服器所在的資源群組。 |
NAME | mydemoreplicaserver | 所建立之新復本伺服器的名稱。 |
source-server | mydemoserver | 要復寫之現有來源伺服器的名稱或標識碼。 |
若要建立跨區域讀取複本,請使用 --location
參數。
下列 CLI 範例會在美國西部建立複本。
az mariadb server replica create --name mydemoreplicaserver --source-server mydemoserver --resource-group myresourcegroup --location westus
注意
若要深入瞭解您可以在其中建立複本的區域,請瀏覽 閱讀複本概念一文。
注意
讀取複本會使用與主伺服器相同的伺服器組態來建立。 建立複本伺服器組態之後可以變更。 建議您將複本伺服器的設定保持在等於或大於來源的值,以確保複本能夠跟上主伺服器。
列出來源伺服器的複本
若要檢視指定來源伺服器的所有複本,請執行下列命令:
az mariadb server replica list --server-name mydemoserver --resource-group myresourcegroup
此指令 az mariadb server replica list
需要下列參數:
設定 | 範例值 | 描述 |
---|---|---|
資源群組 | myresourcegroup | 將建立複本伺服器所在的資源群組。 |
server-name | mydemoserver | 來源伺服器的名稱或識別碼。 |
停止複寫至複本伺服器
重要
停止複寫至伺服器是無法復原的。 在來源和復本之間停止復寫之後,就無法復原。 複本伺服器接著會變成獨立伺服器,現在同時支援讀取和寫入。 此伺服器無法再次設定為複本伺服器。
您可以使用下列命令停止複寫至讀取複本伺服器的複寫:
az mariadb server replica stop --name mydemoreplicaserver --resource-group myresourcegroup
此指令 az mariadb server replica stop
需要下列參數:
設定 | 範例值 | 描述 |
---|---|---|
資源群組 | myresourcegroup | 復本伺服器所在的資源群組。 |
NAME | mydemoreplicaserver | 要停止複寫的複本伺服器名稱。 |
刪除複本伺服器
您可以執行 az mariadb server delete 命令來刪除讀取複本伺服器。
az mariadb server delete --resource-group myresourcegroup --name mydemoreplicaserver
刪除來源伺服器
重要
刪除來源伺服器會停止對所有複本伺服器複寫,並刪除來源伺服器本身。 複本伺服器會變成獨立伺服器,進而支援讀取和寫入。
若要刪除來源伺服器,您可以執行 az mariadb server delete 命令。
az mariadb server delete --resource-group myresourcegroup --name mydemoserver
REST API
您可以使用 Azure REST API 來建立和管理讀取複本。
建立讀取複本
您可以使用建立 API 來建立讀取複本:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{replicaName}?api-version=2017-12-01
{
"location": "southeastasia",
"properties": {
"createMode": "Replica",
"sourceServerId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}"
}
}
注意
若要深入瞭解您可以在其中建立複本的區域,請瀏覽 閱讀複本概念一文。
如果您尚未將 azure.replication_support
參數設定為 一般用途或記憶體優化來源伺服器上的 REPLICA ,並重新啟動伺服器,您會收到錯誤。 在建立複本之前,請先完成這兩個步驟。
復本是使用與主要複本相同的計算和記憶體設定所建立。 建立複本之後,可以從來源伺服器獨立變更數個設定:計算產生、虛擬核心、記憶體和備份保留期間。 除了基本層之外,定價層也可以獨立變更。
重要
在來源伺服器設定更新為新值之前,請將複本設定更新為等於或更大的值。 此動作可協助複本跟上對主圖形所做的任何變更。
列出複本
您可以使用複本清單 API 來檢視來源伺服器的複本清單:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}/Replicas?api-version=2017-12-01
停止複寫至複本伺服器
您可以使用更新 API,停止來源伺服器與讀取複本之間的複寫。
停止複寫至來源伺服器和讀取複本之後,就無法復原。 讀取複本會變成支援讀取和寫入的獨立伺服器。 獨立伺服器無法再次製作成複本。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{masterServerName}?api-version=2017-12-01
{
"properties": {
"replicationRole":"None"
}
}
刪除來源或復本伺服器
若要刪除來源或複本伺服器,您可以使用 刪除 API:
當您刪除來源伺服器時,會停止所有讀取複本的複寫。 讀取複本會變成獨立伺服器,現在同時支援讀取和寫入。
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}?api-version=2017-12-01
下一步
- 深入瞭解 讀取複本