Migración a La Cumbre de innovación:
Obtenga información sobre cómo migrar y modernizar a Azure puede aumentar el rendimiento, la resistencia y la seguridad de su empresa, lo que le permite adoptar completamente la inteligencia artificial.Regístrese ahora
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Inicio rápido: Creación de una instancia del Servidor flexible de Azure Database for MySQL mediante un archivo de Bicep
Artículo
Azure Database for MySQL: servidor flexible es un servicio administrado que se usa para ejecutar, administrar y escalar bases de datos MySQL de alta disponibilidad en la nube. Puede usar una plantilla de Azure Resource Manager (plantilla de ARM) para aprovisionar el Servidor flexible de Azure Database for MySQL para implementar varios servidores o varias bases de datos en un servidor.
Bicep es un lenguaje específico de dominio (DSL) que usa una sintaxis declarativa para implementar recursos de Azure. Brinda sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización de código. Bicep ofrece la mejor experiencia de creación para sus soluciones de infraestructura como código en Azure.
Modifique los ejemplos de código siguientes para crear un archivo main.bicep y un archivo CreateFirewallRules.bicep. Use los archivos para crear un servidor flexible de Azure Database for MySQL que tenga acceso público y para crear una base de datos en el servidor. Es posible que tenga que modificar el valor predeterminado de firewallRules.
main.bicep:
PowerShell
@description('Provide a prefix for creating resource names.')
param resourceNamePrefix string
@description('Provide the location for all the resources.')
param location string = resourceGroup().location
@description('Provide the administrator login username for the flexible server.')
param administratorLogin string
@description('Provide the administrator login password for the flexible server.')
@secure()
param administratorLoginPassword string
@description('Provide an array of firewall rules to apply to the flexible server.')
param firewallRules array = [
{
name: 'rule1'
startIPAddress: '192.168.0.1'
endIPAddress: '192.168.0.255'
}
{
name: 'rule2'
startIPAddress: '192.168.1.1'
endIPAddress: '192.168.1.255'
}
]
@description('The tier of the particular SKU. High availability mode is available only in the GeneralPurpose and MemoryOptimized SKUs.')
@allowed([
'Burstable''GeneralPurpose''MemoryOptimized'
])
param serverEdition string = 'Burstable'
@description('Server version')
@allowed([
'5.7''8.0.21'
])
param version string = '8.0.21'
@description('The availability zone information for the server. (If you don't have a preference, leave blank.)')
param availabilityZone string = '1'
@description('High availability mode for a server: Disabled, SameZone, or ZoneRedundant.')
@allowed([
'Disabled'
'SameZone'
'ZoneRedundant'
])
param haEnabled string = 'Disabled'
@description('The availability zone of the standby server.')
param standbyAvailabilityZone string = '2'
param storageSizeGB int = 20
param storageIops int = 360
@allowed([
'Enabled'
'Disabled'
])
param storageAutogrow string = 'Enabled'
@description('The name of the SKU, such as Standard_D32ds_v4.')
param skuName string = 'Standard_B1ms'
param backupRetentionDays int = 7
@allowed([
'Disabled'
'Enabled'
])
param geoRedundantBackup string = 'Disabled'
param serverName string = '${resourceNamePrefix}sqlserver'
param databaseName string = '${resourceNamePrefix}mysqldb'
resource server 'Microsoft.DBforMySQL/flexibleServers@2021-12-01-preview' = {
location: location
name: serverName
sku: {
name: skuName
tier: serverEdition
}
properties: {
version: version
administratorLogin: administratorLogin
administratorLoginPassword: administratorLoginPassword
availabilityZone: availabilityZone
highAvailability: {
mode: haEnabled
standbyAvailabilityZone: standbyAvailabilityZone
}
storage: {
storageSizeGB: storageSizeGB
iops: storageIops
autoGrow: storageAutogrow
}
backup: {
backupRetentionDays: backupRetentionDays
geoRedundantBackup: geoRedundantBackup
}
}
}
@batchSize(1)
module createFirewallRules './CreateFirewallRules.bicep' = [for i in range(0, ((length(firewallRules) > 0) ? length(firewallRules) : 1)): {
name: 'firewallRules-${i}'
params: {
ip: firewallRules[i]
serverName: serverName
}
dependsOn: [
server
]
}]
resource database 'Microsoft.DBforMySQL/flexibleServers/databases@2021-12-01-preview' = {
parent: server
name: databaseName
properties: {
charset: 'utf8'
collation: 'utf8_general_ci'
}
}
Guarde los dos archivos de Bicep en el mismo directorio.
Creación de un servidor con acceso privado
Modifique los ejemplos de código siguientes para implementar un servidor flexible de Azure Database for MySQL que tenga acceso privado dentro de una red virtual:
PowerShell
@description('Provide a prefix for creating resource names.')
param resourceNamePrefix string
@description('Provide the location for all the resources.')
param location string = resourceGroup().location
@description('Provide the administrator login name for the MySQL server.')
param administratorLogin string
@description('Provide the administrator login password for the MySQL server.')
@secure()
param administratorLoginPassword string
@description('Provide Virtual Network Address Prefix')
param vnetAddressPrefix string = '10.0.0.0/16'
@description('Provide Subnet Address Prefix')
param subnetPrefix string = '10.0.0.0/24'
@description('Provide the tier of the specific SKU. High availability is available only in the GeneralPurpose and MemoryOptimized SKUs.')
@allowed([
'Burstable''Generalpurpose''MemoryOptimized'
])
param serverEdition string = 'Burstable'
@description('Provide Server version')
@allowed([
'5.7''8.0.21'
])
param serverVersion string = '8.0.21'
@description('The availability zone information for the server. (If you don't have a preference, leave blank.)')
param availabilityZone string = '1'
@description('Provide the high availability mode for a server: Disabled, SameZone, or ZoneRedundant.')
@allowed([
'Disabled'
'SameZone'
'ZoneRedundant'
])
param haEnabled string = 'Disabled'
@description('Provide the availability zone of the standby server.')
param standbyAvailabilityZone string = '2'
param storageSizeGB int = 20
param storageIops int = 360
@allowed([
'Enabled'
'Disabled'
])
param storageAutogrow string = 'Enabled'
@description('The name of the sku, e.g. Standard_D32ds_v4.')
param skuName string = 'Standard_B1ms'
param backupRetentionDays int = 7
@allowed([
'Disabled'
'Enabled'
])
param geoRedundantBackup string = 'Disabled'
var serverName = '${resourceNamePrefix}mysqlserver'
var databaseName = '${resourceNamePrefix}mysqldatabase'
var vnetName = '${resourceNamePrefix}mysqlvnet'
var subnetName = '${resourceNamePrefix}mysqlsubnet'
resource vnet 'Microsoft.Network/virtualNetworks@2022-07-01' = {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: [
vnetAddressPrefix
]
}
}
}
resource subnet 'Microsoft.Network/virtualNetworks/subnets@2022-07-01' = {
parent: vnet
name: subnetName
properties: {
addressPrefix: subnetPrefix
delegations: [
{
name: 'MySQLflexibleServers'
properties: {
serviceName: 'Microsoft.DBforMySQL/flexibleServers'
}
}
]
}
}
resource server 'Microsoft.DBforMySQL/flexibleServers@2021-12-01-preview' = {
location: location
name: serverName
sku: {
name: skuName
tier: serverEdition
}
properties: {
version: serverVersion
administratorLogin: administratorLogin
administratorLoginPassword: administratorLoginPassword
availabilityZone: availabilityZone
highAvailability: {
mode: haEnabled
standbyAvailabilityZone: standbyAvailabilityZone
}
storage: {
storageSizeGB: storageSizeGB
iops: storageIops
autoGrow: storageAutogrow
}
network: {
delegatedSubnetResourceId: subnet.id
}
backup: {
backupRetentionDays: backupRetentionDays
geoRedundantBackup: geoRedundantBackup
}
}
}
resource database 'Microsoft.DBforMySQL/flexibleServers/databases@2021-12-01-preview' = {
parent: server
name: databaseName
properties: {
charset: 'utf8'
collation: 'utf8_general_ci'
}
}
Implementación de la plantilla
Implemente el archivo de Bicep utilizando la CLI de Azure o Azure PowerShell.
Siga las instrucciones para introducir los valores del parámetro. Una vez finalizada la implementación, debería mostrarse un mensaje indicando que la implementación se realizó correctamente.
Revisión de los recursos implementados
Para comprobar que el Servidor flexible de Azure Database for MySQL se ha creado en el grupo de recursos:
Microsoft Azure Database for MySQL is an Azure managed data service. It considerably simplifies database deployment, management, and maintenance, while providing compatibility with existing MySQL database workloads.
Administre una infraestructura de base de datos de SQL Server para bases de datos relacionales locales e híbridas en la nube mediante las ofertas de bases de datos relacionales PaaS de Microsoft.
En este inicio rápido, aprenderá a implementar una base de datos en una instancia del Servidor flexible de Azure Database for MySQL mediante una plantilla de Azure Resource Manager.
En este artículo se describe cómo configurar los parámetros de servicio en el servidor flexible de Azure Database for MySQL mediante la utilidad de la línea de comandos de la CLI de Azure.
En este script de ejemplo de la CLI de Azure se muestra cómo supervisar y escalar verticalmente o reducir verticalmente una única instancia de Azure Database for MySQL: servidor flexible para permitir cambiar las necesidades de rendimiento.
En este inicio rápido se proporcionan varias maneras de conectarse y consultar el Servidor flexible de Azure Database for MySQL mediante la CLI de Azure.
Configure tareas automatizadas que le permitan administrar Azure Database for MySQL con servidor flexible mediante la creación de flujos de trabajo que se ejecuten en Azure Logic Apps.
En este artículo se describe cómo configurar los parámetros de servidor del servidor flexible de MySQL en Azure Database for MySQL mediante Azure Portal.