如何使用 Azure CLI 在 適用於 MariaDB 的 Azure 資料庫 中備份和還原伺服器

重要

適用於 MariaDB 的 Azure 資料庫 位於淘汰路徑上。 強烈建議您移轉至 適用於 MySQL 的 Azure 資料庫。 如需移轉至 適用於 MySQL 的 Azure 資料庫 的詳細資訊,請參閱 適用於 MariaDB 的 Azure 資料庫 發生什麼事?

適用於 MariaDB 的 Azure 資料庫 伺服器會定期備份,以啟用還原功能。 您可以使用這項功能,將伺服器及其所有資料庫還原到新伺服器上的先前時間點。

如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶

必要條件

  • 本操作指南需要 Azure CLI 2.0 版或更新版本。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。

設定備份組態

您可以選擇在伺服器建立時為本地備援備份或異地備援備份設定伺服器。

注意

建立伺服器之後,就無法切換其具有異地備援與本地備援的備援類型。

透過 az mariadb server create 命令建立伺服器時, --geo-redundant-backup 參數會決定您的備份備援選項。 如果 Enabled為 ,則會進行異地備援備份。 或者,如果 Disabled 已建立本地備援備份,

備份保留期間是由 參數 --backup-retention所設定。

如需在建立期間設定這些值的詳細資訊,請參閱 適用於 MariaDB 的 Azure 資料庫 伺服器 CLI 快速入門

伺服器的備份保留期限可以變更,如下所示:

az mariadb server update --name mydemoserver --resource-group myresourcegroup --backup-retention 10

上述範例會將 mydemoserver 的備份保留期限變更為 10 天。

備份保留期間會控管可擷取時間點還原的時間,因為它是以可用的備份為基礎。 下一節會進一步說明時間點還原。

伺服器時間點還原

您可以將伺服器還原至先前的時間點。 還原的數據會複製到新的伺服器,而現有的伺服器則保持現狀。 例如,如果今天中午不小心卸除數據表,您可以還原到中午前的時間。 然後,您可以從伺服器還原的復本擷取遺漏的數據表和數據。

若要還原伺服器,請使用 Azure CLI az mariadb server restore 命令。

執行還原命令

若要還原伺服器,請在 Azure CLI 命令提示字元中輸入下列命令:

az mariadb server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time 2018-03-13T13:59:00Z --source-server mydemoserver

此指令 az mariadb server restore 需要下列參數:

設定 建議的值 描述
資源群組  myresourcegroup  來源伺服器所在的資源群組。 
NAME mydemoserver-restored 還原命令所建立的新伺服器名稱。
restore-point-in-time 2018-03-13T13:59:00Z 選取要還原到的時間點。 此日期和時間必須位於來源伺服器的備份保留期間內。 使用ISO8601日期和時間格式。 例如,您可以使用自己的當地時區,例如 2018-03-13T05:59:00-08:00。 您也可以使用 UTC Zulu 格式, 例如 2018-03-13T13:59:00Z
source-server mydemoserver 要從中還原的來源伺服器名稱或標識碼。

當您將伺服器還原到先前的時間點時,就會建立新的伺服器。 原始伺服器及其資料庫會從指定的時間點複製到新的伺服器。

還原伺服器的位置和定價層值會與原始伺服器保持相同。

還原程式完成之後,找出新的伺服器,並確認數據如預期般還原。 新伺服器具有相同的伺服器管理員登入名稱和密碼,在還原起始時對現有伺服器有效。 您可以從新伺服器的 [概觀 ] 頁面變更密碼。

在還原期間建立的新伺服器沒有存在於原始伺服器上的 VNet 服務端點。 這些規則必須針對這個新伺服器個別設定。 原始伺服器的防火牆規則會還原。

異地還原

如果您將伺服器設定為異地備援備份,可以從該現有伺服器的備份建立新的伺服器。 您可以在任何可用的區域中建立此新伺服器,適用於 MariaDB 的 Azure 資料庫。

若要使用異地備援備份建立伺服器,請使用 Azure CLI az mariadb server georestore 命令。

注意

第一次建立伺服器時,可能無法立即用於異地還原。 可能需要數小時才能填入必要的元數據。

若要異地還原伺服器,請在 Azure CLI 命令提示字元中輸入下列命令:

az mariadb server georestore --resource-group myresourcegroup --name mydemoserver-georestored --source-server mydemoserver --location eastus --sku-name GP_Gen5_8

此命令會在美國東部建立名為 mydemoserver-georestored 的新伺服器,該伺服器將屬於 myresourcegroup。 它是具有 8 個虛擬核心的一般用途 Gen 5 伺服器。 伺服器是從 mydemoserver異地備援備份建立的,該備份也位於資源群組 myresourcegroup 中

如果您想要在與現有伺服器不同的資源群組中建立新伺服器,請在 參數中 --source-server 將伺服器名稱限定為下列範例:

az mariadb server georestore --resource-group newresourcegroup --name mydemoserver-georestored --source-server "/subscriptions/$<subscription ID>/resourceGroups/$<resource group ID>/providers/Microsoft.DBforMariaDB/servers/mydemoserver" --location eastus --sku-name GP_Gen5_8

此指令 az mariadb server georestore 需要下列參數:

設定 建議的值 描述
資源群組 myresourcegroup 新伺服器所屬的資源群組名稱。
NAME mydemoserver-georestored 新伺服器的名稱。
source-server mydemoserver 使用異地備援備份的現有伺服器名稱。
location eastus 新伺服器的位置。
sku-name GP_Gen5_8 此參數會設定新伺服器的定價層、計算產生和虛擬核心數目。 GP_Gen5_8對應至具有 8 個虛擬核心的一般用途 Gen 5 伺服器。

依異地還原建立新伺服器時,它會繼承與來源伺服器相同的記憶體大小和定價層。 建立期間無法變更這些值。 建立新伺服器之後,就可以相應增加其記憶體大小。

還原程式完成之後,找出新的伺服器,並確認數據如預期般還原。 新伺服器具有相同的伺服器管理員登入名稱和密碼,在還原起始時對現有伺服器有效。 您可以從新伺服器的 [概觀 ] 頁面變更密碼。

在還原期間建立的新伺服器沒有存在於原始伺服器上的 VNet 服務端點。 這些規則必須針對這個新伺服器個別設定。 原始伺服器的防火牆規則會還原。

下一步