使用自定义或默认配置创建 MySQL 灵活服务器。 有关网络配置的详细信息,请参阅
配置公共访问
https://docs.microsoft.com/en-us/azure/mysql/flexible-server/how-to-manage-firewall-cli
配置专用访问
https://docs.microsoft.com/en-us/azure/mysql/flexible-server/how-to-manage-virtual-network-cli
。
[--database-name]
[--geo-redundant-backup {Disabled, Enabled}]
[--high-availability {Disabled, SameZone, ZoneRedundant}]
[--identity]
[--iops]
[--key]
[--location]
[--name]
[--private-dns-zone]
[--public-access]
[--resource-group]
[--sku-name]
[--standby-zone]
[--storage-auto-grow {Disabled, Enabled}]
[--storage-size]
[--subnet]
[--subnet-prefixes]
[--tags]
[--tier]
[--version]
[--vnet]
[--yes]
[--zone]
使用自定义参数创建 MySQL 灵活服务器
az mysql flexible-server create --location northeurope --resource-group testGroup \
--name testserver --admin-user username --admin-password password \
--sku-name Standard_B1ms --tier Burstable --public-access 0.0.0.0 --storage-size 32 \
--tags "key=value" --version 5.7 --high-availability ZoneRedundant --zone 1 \
--standby-zone 3 --storage-auto-grow Enabled --iops 500
创建默认参数和启用公共访问的 MySQL 灵活服务器。 资源组、服务器名称、用户名、密码和默认数据库将由 CLI 创建
az mysql flexible-server create
创建具有公共访问权限的 MySQL 灵活服务器,并添加 IP 地址范围以访问此服务器。 --public-access 参数可以是“All”、“None”或 <startIpAddress><startIpAddress>-<endIpAddress>
az mysql flexible-server create --resource-group testGroup --name testserver --public-access 125.23.54.31-125.23.54.35
创建具有专用访问权限的 MySQL 灵活服务器。 如果提供的虚拟网络和子网不存在,则会创建具有指定地址前缀的虚拟网络和子网。
az mysql flexible-server create --resource-group testGroup --name testserver --vnet myVnet --subnet mySubnet --address-prefixes 10.0.0.0/16 --subnet-prefixes 10.0.0.0/24
使用新的子网资源 ID 和新的专用 DNS 区域资源 ID 创建 MySQL 灵活服务器。 可以在不同的订阅或资源组中创建子网和 DNS 区域。
az mysql flexible-server create \
--resource-group testGroup --name testserver \
--subnet /subscriptions/{SubID}/resourceGroups/{ResourceGroup}/providers/Microsoft.Network/virtualNetworks/{VNetName}/subnets/{SubnetName} \
--private-dns-zone /subscriptions/{SubID}/resourceGroups/{resourceGroup}/providers/Microsoft.Network/privateDnsZones/testMySQLFlexibleDnsZone.private.mysql.database.azure.com \
--address-prefixes 172.0.0.0/16 --subnet-prefixes 172.0.0.0/24
使用同一资源组中的现有网络资源创建 MySQL 灵活服务器。 提供的子网不应部署任何其他资源,并且此子网将委派给 Microsoft.DBforMySQL/flexibleServers(如果尚未委派)。 如果尚未链接,专用 DNS 区域将链接到虚拟网络。
# create vnet
az network vnet create --resource-group testGroup --name testVnet --location testLocation --address-prefixes 172.0.0.0/16
# create subnet
az network vnet subnet create --resource-group testGroup --vnet-name testVnet --address-prefixes 172.0.0.0/24 --name testSubnet
# create private dns zone
az network private-dns zone create -g testGroup -n testDNS.private.mysql.database.azure.com
az mysql flexible-server create --resource-group testGroup \
--name testserver --location testLocation \
--subnet /subscriptions/{SubId}/resourceGroups/{testGroup}/providers/Microsoft.Network/virtualNetworks/tesetVnet/subnets/testSubnet \
--private-dns-zone /subscriptions/{SubId}/resourceGroups/{testGroup}/providers/Microsoft.Network/privateDnsZones/testDNS.mysql.database.azure.com\
az mysql flexible-server create --resource-group testGroup --name testserver \
--vnet testVnet --subnet testSubnet --location testLocation \
--private-dns-zone /subscriptions/{SubId}/resourceGroups/{testGroup}/providers/Microsoft.Network/privateDnsZones/testDNS.mysql.database.azure.com
使用不同的资源组/订阅中的现有网络资源创建 MySQL 灵活服务器。
az mysql flexible-server create --resource-group testGroup \
--name testserver --location testLocation \
--subnet /subscriptions/{SubId2}/resourceGroups/{testGroup2}/providers/Microsoft.Network/virtualNetworks/tesetVnet/subnets/testSubnet \
--private-dns-zone /subscriptions/{SubId2}/resourceGroups/{testGroup2}/providers/Microsoft.Network/privateDnsZones/testDNS.mysql.database.azure.com
使用数据加密创建 MySQL 灵活服务器。
# create keyvault
az keyvault create -g testGroup -n testVault --location testLocation \
--enable-purge-protection true
# create key in keyvault and save its key identifier
keyIdentifier=$(az keyvault key create --name testKey -p software \
--vault-name testVault --query key.kid -o tsv)
# create identity and save its principalId
identityPrincipalId=$(az identity create -g testGroup --name testIdentity \
--location testLocation --query principalId -o tsv)
# add testIdentity as an access policy with key permissions 'Wrap Key', 'Unwrap Key', 'Get' and 'List' inside testVault
az keyvault set-policy -g testGroup -n testVault --object-id $identityPrincipalId \
--key-permissions wrapKey unwrapKey get list
# create flexible server with data encryption enabled
az mysql flexible-server create -g testGroup -n testServer --location testLocation \
--key $keyIdentifier --identity testIdentity
创建具有异地冗余备份和数据加密的 MySQL 灵活服务器。
# create keyvault
az keyvault create -g testGroup -n testVault --location testLocation \
--enable-purge-protection true
# create key in keyvault and save its key identifier
keyIdentifier=$(az keyvault key create --name testKey -p software \
--vault-name testVault --query key.kid -o tsv)
# create identity and save its principalId
identityPrincipalId=$(az identity create -g testGroup --name testIdentity \
--location testLocation --query principalId -o tsv)
# add testIdentity as an access policy with key permissions 'Wrap Key', 'Unwrap Key', 'Get' and 'List' inside testVault
az keyvault set-policy -g testGroup -n testVault --object-id $identityPrincipalId \
--key-permissions wrapKey unwrapKey get list
# create backup keyvault
az keyvault create -g testGroup -n testBackupVault --location testBackupLocation \
--enable-purge-protection true
# create backup key in backup keyvault and save its key identifier
backupKeyIdentifier=$(az keyvault key create --name testBackupKey -p software \
--vault-name testBackupVault --query key.kid -o tsv)
# create backup identity and save its principalId
backupIdentityPrincipalId=$(az identity create -g testGroup --name testBackupIdentity \
--location testBackupLocation --query principalId -o tsv)
# add testBackupIdentity as an access policy with key permissions 'Wrap Key', 'Unwrap Key', 'Get' and 'List' inside testBackupVault
az keyvault set-policy -g testGroup -n testBackupVault \
--object-id $backupIdentityPrincipalId --key-permissions wrapKey unwrapKey get list
# create flexible server with geo redundant backup and data encryption enabled
az mysql flexible-server create -g testGroup -n testServer --location testLocation \
--geo-redundant-backup Enabled \
--key $keyIdentifier --identity testIdentity \
--backup-key $backupKeyIdentifier --backup-identity testBackupIdentity
--address-prefixes
删除灵活服务器。
az mysql flexible-server delete --resource-group testGroup --name testserver
在不出现确认提示的情况下删除灵活服务器。
az mysql flexible-server delete --resource-group testGroup --name testserver --yes
--ids
az mysql flexible-server detach-vnet --public-network-access {Disabled, Enabled}
[--ids]
[--name]
[--resource-group]
[--subscription]
[--yes]
为禁用公共访问的灵活服务器分离 vnet。
az mysql flexible-server detach-vnet --resource-group testGroup --name testserver --public-network-access Disabled
--public-network-access
将“testerver”异地还原到具有相同网络配置的“newLocation”位置的新服务器“testserverNew”。 专用访问服务器将使用不同的专用 DNS 区域。
az mysql flexible-server geo-restore --resource-group testGroup --name testserverNew --source-server testserver --location newLocation
将公共访问或专用访问服务器“testerver”异地还原为具有新子网的新服务器“testserverNew”。 将为还原的服务器预配新的 vnet、子网和专用 DNS 区域。 有关更多专用访问方案,请参阅“灵活服务器创建”命令。
az mysql flexible-server geo-restore --resource-group testGroup --name testserverNew \
--source-server testserver --vnet newVnet --subnet newSubnet \
--address-prefixes 172.0.0.0/16 --subnet-prefixes 172.0.0.0/24 \
--private-dns-zone testDNS.mysql.database.azure.com --location newLocation
将专用访问服务器“testerver”异地还原为具有公共访问权限的新服务器“testserverNew”。
az mysql flexible-server geo-restore --resource-group testGroup --name testserverNew --source-server testserver --public-access Enabled --location newLocation
--location -l
az mysql flexible-server list
列出资源组中的所有 MySQL 灵活服务器。
az mysql flexible-server list --resource-group testGroup
以表格式列出资源组中的所有 MySQL 灵活服务器。
az mysql flexible-server list --resource-group testGroup --output table
--resource-group -g
az mysql flexible-server list-skus -l eastus
列出表输出中给定区域中的可用 SKU
az mysql flexible-server list-skus -l eastus -o table
--location -l
重启灵活服务器。
az mysql flexible-server restart --resource-group testGroup --name testserver
使用故障转移重启灵活服务器
az mysql flexible-server restart --resource-group testGroup --name testserver --failover Forced
--failover
将“testerver”还原到具有相同网络配置的新服务器“testserverNew”的特定时间点。
az mysql flexible-server restore --resource-group testGroup --name testserverNew --source-server testserver --restore-time "2017-06-15T13:10:00Z"
将公共访问或专用访问服务器“testserver”还原为具有新子网的新服务器“testserverNew”到当前时间点。 将为还原的服务器预配新的 vnet、子网和专用 DNS 区域。 有关更多专用访问方案,请参阅“灵活服务器创建”命令。
az mysql flexible-server restore --resource-group testGroup --name testserverNew \
--source-server testserver --vnet newVnet --subnet newSubnet \
--address-prefixes 172.0.0.0/16 --subnet-prefixes 172.0.0.0/24 \
--private-dns-zone testDNS.mysql.database.azure.com
将专用访问服务器“testerver”还原到当前时间点,作为具有公共访问权限的新服务器“testserverNew”。
az mysql flexible-server restore --resource-group testGroup --name testserverNew \
--source-server testserver --public-access Enabled
--source-server
az mysql flexible-server show-connection-string [--admin-password]
[--admin-user]
[--database-name]
[--ids]
[--server-name]
[--subscription]
显示 cmd 和编程语言的连接字符串。
az mysql flexible-server show-connection-string -s testserver -u username -p password -d databasename
--admin-password -p
az mysql flexible-server update [--add]
[--admin-password]
[--auto-scale-iops {Disabled, Enabled}]
[--backup-identity]
[--backup-key]
[--backup-retention]
[--disable-data-encryption {false, true}]
[--force-string]
[--geo-redundant-backup {Disabled, Enabled}]
[--high-availability {Disabled, SameZone, ZoneRedundant}]
[--identity]
[--ids]
[--iops]
[--key]
[--maintenance-window]
[--name]
[--public-access {Disabled, Enabled}]
[--remove]
[--replication-role]
[--resource-group]
[--set]
[--sku-name]
[--standby-zone]
[--storage-auto-grow {Disabled, Enabled}]
[--storage-size]
[--subscription]
[--tags]
[--tier]
使用服务器和资源组的本地上下文更新灵活服务器的 SKU。
az mysql flexible-server update --sku-name Standard_D4ds_v4 --tier GeneralPurpose
更新灵活服务器的标记。
az mysql flexible-server update --resource-group testGroup --name testserver --tags "k1=v1" "k2=v2"
设置或更改数据加密的密钥和标识。
# get key identifier of the existing key
newKeyIdentifier=$(az keyvault key show --vault-name testVault --name testKey \
--query key.kid -o tsv)
# update server with new key/identity
az mysql flexible-server update --resource-group testGroup --name testserver \
--key $newKeyIdentifier --identity newIdentity
使用异地冗余备份设置或更改用于数据加密的密钥、标识、备份密钥和备份标识。
# get key identifier of the existing key and backup key
newKeyIdentifier=$(az keyvault key show --vault-name testVault --name testKey \
--query key.kid -o tsv)
newBackupKeyIdentifier=$(az keyvault key show --vault-name testBackupVault \
--name testBackupKey --query key.kid -o tsv)
# update server with new key/identity and backup key/identity
az mysql flexible-server update --resource-group testGroup --name testserver \
--key $newKeyIdentifier --identity newIdentity \
--backup-key $newBackupKeyIdentifier --backup-identity newBackupIdentity
禁用灵活服务器的数据加密。
az mysql flexible-server update --resource-group testGroup --name testserver \
--disable-data-encryption
--add
将服务器“testsvr”升级到 MySQL 主版本 8。
# make sure that sql_mode only contains values allowed in new version, for example:
az mysql flexible-server parameter set -g testgroup -s testsvr -n sql_mode \
-v "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO"
# upgrade server to MySQL major version 8.
az mysql flexible-server upgrade -g testgroup -n testsvr -v 8
--version -v
等待灵活服务器满足某些条件。
az mysql flexible-server wait --exists --resource-group testGroup --name testserver
--created