教學課程:使用 Azure CLI 設計 適用於 MariaDB 的 Azure 資料庫
重要
適用於 MariaDB 的 Azure 資料庫 位於淘汰路徑上。 強烈建議您移轉至 適用於 MySQL 的 Azure 資料庫。 如需移轉至 適用於 MySQL 的 Azure 資料庫 的詳細資訊,請參閱 適用於 MariaDB 的 Azure 資料庫 發生什麼事?。
適用於 MariaDB 的 Azure 資料庫 是以 MariaDB Community Edition 資料庫引擎為基礎的 Microsoft 雲端中關係資料庫服務。 在本教學課程中,您會使用 Azure CLI (命令行介面) 和其他公用程序來瞭解如何:
- 建立 適用於 MariaDB 的 Azure 資料庫
- 設定伺服器防火牆
- 使用 mysql 命令行工具來 建立資料庫
- 載入範例資料
- 查詢資料
- 更新資料
- 還原數據
如果您沒有 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 account set 命令,在您的帳戶下選取特定的訂用帳戶標識碼。
az account set --subscription 00000000-0000-0000-0000-000000000000
建立資源群組
使用 az group create 命令建立 Azure 資源群組。 資源群組是將 Azure 資源部署及管理為群組的邏輯容器。
下列範例會在 westus
位置建立名為 myresourcegroup
的資源群組。
az group create --name myresourcegroup --location westus
建立 適用於 MariaDB 的 Azure 資料庫 伺服器
使用 az mariadb server create
命令建立 適用於 MariaDB 的 Azure 資料庫 伺服器。 伺服器可以管理多個資料庫。 一般而言,每個專案或每個用戶都會使用個別的資料庫。
下列範例會建立位於資源組myresourcegroup
mydemoserver
名 的 westus
適用於 MariaDB 的 Azure 資料庫 伺服器。 伺服器具有名為 myadmin
的系統管理員登入。 它是具有 2 個虛擬核心的一般用途 Gen 5 伺服器。 <server_admin_password>
以您自己的值取代 。
az mariadb server create --resource-group myresourcegroup --name mydemoserver --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen5_2 --version 10.2
sku-name 参數值遵循慣例 {pricing tier}_{compute generation}_{vCores},如下列範例所示:
--sku-name B_Gen5_4
對應至基本、Gen 5 和 4 個虛擬核心。--sku-name GP_Gen5_32
對應於一般用途、第 5 代和 32 個 vCore。--sku-name MO_Gen5_2
對應到記憶體最佳化、第 5 代和 2 個 vCore。
請參閱 定價層 檔,以瞭解每個區域和每一層的有效值。
重要
您在此處指定的伺服器管理員登入和密碼,需要在此快速入門稍後登入伺服器及其資料庫。 請記得或記錄這項資訊以供稍後使用。
設定防火牆規則
使用 az mariadb server firewall-rule create
命令建立 適用於 MariaDB 的 Azure 資料庫 伺服器層級防火牆規則。 伺服器層級防火牆規則可讓外部應用程式,例如 mysql 命令行工具或 MySQL Workbench,透過 Azure MariaDB 服務防火牆連線到您的伺服器。
下列範例會建立稱為 AllowMyIP
的防火牆規則,允許來自特定IP位址192.168.0.1的連線。 在對應至您要連線位置的 IP 位址或 IP 位址範圍中取代 。
az mariadb server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1
取得連線資訊
若要連線到您的伺服器,您必須提供主機資訊和存取認證。
az mariadb server show --resource-group myresourcegroup --name mydemoserver
結果為 JSON 格式。 記下 fullyQualifiedDomainName 和 administratorLogin。
{
"administratorLogin": "myadmin",
"administratorLoginPassword": null,
"fullyQualifiedDomainName": "mydemoserver.mariadb.database.azure.com",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMariaDB/servers/mydemoserver",
"location": "westus",
"name": "mydemoserver",
"resourceGroup": "myresourcegroup",
"sku": {
"capacity": 2,
"family": "Gen5",
"name": "GP_Gen5_2",
"size": null,
"tier": "GeneralPurpose"
},
"sslEnforcement": "Enabled",
"storageProfile": {
"backupRetentionDays": 7,
"geoRedundantBackup": "Disabled",
"storageMb": 5120
},
"tags": null,
"type": "Microsoft.DBforMariaDB/servers",
"userVisibleState": "Ready",
"version": "10.2"
}
使用 mysql 將 連線 至伺服器
使用 mysql 命令行工具來建立 適用於 MariaDB 的 Azure 資料庫 伺服器的連線。 在此範例中,命令為:
mysql -h mydemoserver.database.windows.net -u myadmin@mydemoserver -p
建立空白資料庫
線上到伺服器之後,請建立空白資料庫。
mysql> CREATE DATABASE mysampledb;
在提示字元中,執行下列命令,將連線切換至這個新建立的資料庫:
mysql> USE mysampledb;
在資料庫中建立資料表
既然您已瞭解如何連線到 適用於 MariaDB 的 Azure 資料庫 資料庫,請完成一些基本工作。
首先,建立數據表,並使用某些數據加以載入。 讓我們建立儲存清查信息的數據表。
CREATE TABLE inventory (
id serial PRIMARY KEY,
name VARCHAR(50),
quantity INTEGER
);
將資料載入到資料表
既然您已經有資料表,請在其中插入一些資料。 在開啟的命令提示字元視窗中,執行下列查詢以插入一些數據列。
INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150);
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);
現在,您有兩個數據列的範例數據列到您稍早建立的數據表中。
查詢及更新資料表中的資料
執行下列查詢,從資料庫數據表擷取資訊。
SELECT * FROM inventory;
您也可以更新資料表中的數據。
UPDATE inventory SET quantity = 200 WHERE name = 'banana';
當您擷取數據時,數據列會據以更新。
SELECT * FROM inventory;
將資料庫還原至先前的時間點
假設您不小心刪除了此資料表。 這是您無法輕易從中復原的內容。 適用於 MariaDB 的 Azure 資料庫 可讓您回到過去 35 天內的任何時間點,並將此時間點還原至新的伺服器。 您可以使用這個新伺服器來復原已刪除的數據。 下列步驟會將範例伺服器還原至加入數據表之前的時間點。
針對還原,您需要下列資訊:
- 還原點:選取伺服器變更前發生的時間點。 必須大於或等於源資料庫的最舊備份值。
- 目標伺服器:提供您想要還原的新伺服器名稱
- 來源伺服器:提供您要從中還原的伺服器名稱
- 位置:您無法選取區域,預設與來源伺服器相同
az mariadb server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mydemoserver
此指令 az mariadb server restore
需要下列參數:
設定 | 建議的值 | 描述 |
---|---|---|
資源群組 | myresourcegroup | 來源伺服器所在的資源群組。 |
NAME | mydemoserver-restored | 還原命令所建立的新伺服器名稱。 |
restore-point-in-time | 2017-04-13T13:59:00Z | 選取要還原到的時間點。 此日期和時間必須位於來源伺服器的備份保留期間內。 使用ISO8601日期和時間格式。 例如,您可以使用自己的當地時區,例如 2017-04-13T05:59:00-08:00 ,或使用UTC Zulu格式 2017-04-13T13:59:00Z 。 |
source-server | mydemoserver | 要從中還原的來源伺服器名稱或標識碼。 |
將伺服器還原到時間點會建立新的伺服器,從您指定的時間點開始複製為原始伺服器。 所還原伺服器的位置和定價層值與來源伺服器相同。
此命令是同步的,而且會在還原伺服器之後傳回。 還原完成後,找出已建立的新伺服器。 確認數據已如預期還原。
下一步
在本教學課程中,您已瞭解如何:
- 建立 適用於 MariaDB 的 Azure 資料庫 伺服器
- 設定伺服器防火牆
- 使用 mysql 命令行工具來 建立資料庫
- 載入範例資料
- 查詢資料
- 更新資料
- 還原數據