如何使用 Azure CLI 在 適用於 MariaDB 的 Azure 資料庫 中備份和還原伺服器
重要
適用於 MariaDB 的 Azure 資料庫 位於淘汰路徑上。 強烈建議您移轉至 適用於 MySQL 的 Azure 資料庫。 如需移轉至 適用於 MySQL 的 Azure 資料庫 的詳細資訊,請參閱 適用於 MariaDB 的 Azure 資料庫 發生什麼事?。
適用於 MariaDB 的 Azure 資料庫 伺服器會定期備份,以啟用還原功能。 您可以使用這項功能,將伺服器及其所有資料庫還原到新伺服器上的先前時間點。
如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
- 本操作指南需要 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 服務端點。 這些規則必須針對這個新伺服器個別設定。 原始伺服器的防火牆規則會還原。