Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Banco de Dados do Azure para MySQL é um serviço gerenciado usado para executar, gerenciar e dimensionar Bancos de Dados MySQL altamente disponíveis na nuvem. Neste guia de início rápido, você usa o Bicep para criar um servidor do Banco de Dados do Azure para MySQL com integração com rede virtual. Você pode criar o servidor no o portal do Azure, na CLI do Azure ou no Azure PowerShell.
O Bicep é um DSL (linguagem específica de domínio) que usa sintaxe declarativa para implantar recursos do Azure. Ele fornece sintaxe concisa, segurança de tipos confiável e suporte para reutilização de código. O Bicep oferece a melhor experiência de criação para suas soluções de infraestrutura como código no Azure.
Pré-requisitos
Você precisa de uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
- Se você quiser executar o código localmente, Azure PowerShell.
Examinar o arquivo Bicep
Crie um Banco de Dados do Azure para o servidor MySQL com um conjunto definido de recursos de computação e armazenamento. Para saber mais, confira tipos de preço do Banco de Dados do Azure para MySQL. Crie o serviço dentro de um Grupo de recursos do Azure.
O arquivo Bicep usado neste guia de início rápido vem dos Modelos de início rápido do Azure.
@description('Server Name for Azure database for MySQL')
param serverName string
@description('Database administrator login name')
@minLength(1)
param administratorLogin string
@description('Database administrator password')
@minLength(8)
@secure()
param administratorLoginPassword string
@description('Azure database for MySQL compute capacity in vCores (2,4,8,16,32)')
param skuCapacity int = 2
@description('Azure database for MySQL sku name ')
param skuName string = 'GP_Gen5_2'
@description('Azure database for MySQL Sku Size ')
param SkuSizeMB int = 5120
@description('Azure database for MySQL pricing tier')
@allowed([
'Basic'
'GeneralPurpose'
'MemoryOptimized'
])
param SkuTier string = 'GeneralPurpose'
@description('Azure database for MySQL sku family')
param skuFamily string = 'Gen5'
@description('MySQL version')
@allowed([
'5.6'
'5.7'
'8.0'
])
param mysqlVersion string = '8.0'
@description('Location for all resources.')
param location string = resourceGroup().location
@description('MySQL Server backup retention days')
param backupRetentionDays int = 7
@description('Geo-Redundant Backup setting')
param geoRedundantBackup string = 'Disabled'
@description('Virtual Network Name')
param virtualNetworkName string = 'azure_mysql_vnet'
@description('Subnet Name')
param subnetName string = 'azure_mysql_subnet'
@description('Virtual Network RuleName')
param virtualNetworkRuleName string = 'AllowSubnet'
@description('Virtual Network Address Prefix')
param vnetAddressPrefix string = '10.0.0.0/16'
@description('Subnet Address Prefix')
param subnetPrefix string = '10.0.0.0/16'
var firewallrules = [
{
Name: 'rule1'
StartIpAddress: '0.0.0.0'
EndIpAddress: '255.255.255.255'
}
{
Name: 'rule2'
StartIpAddress: '0.0.0.0'
EndIpAddress: '255.255.255.255'
}
]
resource vnet 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
vnetAddressPrefix
]
}
}
}
resource subnet 'Microsoft.Network/virtualNetworks/subnets@2023-09-01' = {
parent: vnet
name: subnetName
properties: {
addressPrefix: subnetPrefix
}
}
resource mysqlDbServer 'Microsoft.DBforMySQL/servers@2017-12-01' = {
name: serverName
location: location
sku: {
name: skuName
tier: SkuTier
capacity: skuCapacity
size: '${SkuSizeMB}' //a string is expected here but a int for the storageProfile...
family: skuFamily
}
properties: {
createMode: 'Default'
version: mysqlVersion
administratorLogin: administratorLogin
administratorLoginPassword: administratorLoginPassword
storageProfile: {
storageMB: SkuSizeMB
backupRetentionDays: backupRetentionDays
geoRedundantBackup: geoRedundantBackup
}
minimalTlsVersion: 'TLS1_2'
sslEnforcement: 'Enabled'
}
resource virtualNetworkRule 'virtualNetworkRules@2017-12-01' = {
name: virtualNetworkRuleName
properties: {
virtualNetworkSubnetId: subnet.id
ignoreMissingVnetServiceEndpoint: true
}
}
}
@batchSize(1)
resource firewallRules 'Microsoft.DBforMySQL/servers/firewallRules@2017-12-01' = [for rule in firewallrules: {
parent: mysqlDbServer
name: rule.Name
properties: {
startIpAddress: rule.StartIpAddress
endIpAddress: rule.EndIpAddress
}
}]
output location string = location
output name string = mysqlDbServer.name
output resourceGroupName string = resourceGroup().name
output resourceId string = mysqlDbServer.id
O arquivo Bicep define cinco recursos do Azure:
- Microsoft.Network/virtualNetworks
- Microsoft.Network/virtualNetworks/subnets
- Microsoft.DBforMySQL/servers
- Microsoft.DBforMySQL/servers/virtualNetworkRules
- Microsoft.DBforMySQL/servers/firewallRules
Implante o arquivo Bicep
Salve o arquivo Bicep como main.bicep em seu computador local.
Para implantar o arquivo Bicep, use a CLI do Azure ou o Azure PowerShell.
New-AzResourceGroup -Name exampleRG -Location eastus New-AzResourceGroupDeployment -ResourceGroupName exampleRG -TemplateFile ./main.bicep -serverName "<server-name>" -administratorLogin "<admin-login>"Observação
Substitua <server-name> pelo nome do servidor do Banco de Dados do Azure para MySQL. Substitua <admin-login> pela identificação de logon do administrador de banco de dados. Também será solicitado que você insira a administratorLoginPassword. O tamanho mínimo da senha é oito caracteres.
Quando a implantação for concluída, você deverá ver uma mensagem indicando que ela foi bem-sucedida.
Examinar os recursos implantados
Use o portal do Azure, a CLI do Azure ou o Azure PowerShell para listar os recursos implantados no grupo de recursos.
Get-AzResource -ResourceGroupName exampleRG
Limpar os recursos
Quando não for mais necessário, use o portal do Azure, a CLI do Azure ou o Azure PowerShell para excluir o grupo de recursos e seus recursos.
Remove-AzResourceGroup -Name exampleRG