Actualización del proveedor de recursos MySQL en Azure Stack Hub

Importante

A partir de la compilación 2108 de Azure Stack Hub, los proveedores de recursos SQL y MySQL se ofrecen a las suscripciones a las que se ha concedido acceso. Si desea empezar a usar esta característica o si necesita actualizar desde una versión anterior, abra un caso de soporte técnico y nuestros ingenieros le guiarán a través del proceso de implementación o actualización.

Importante

Antes de actualizar el proveedor de recursos, revise las notas de la versión para obtener información sobre las nuevas funciones, correcciones y problemas conocidos que podrían afectar a la implementación. Las notas de la versión también especifican la versión mínima de Azure Stack Hub requerida para el proveedor de recursos.

Importante

La actualización del proveedor de recursos NO actualizará el servidor MySQL de hospedaje.

Cuando Azure Stack Hub publica una nueva compilación, es posible que se publique un nuevo adaptador del proveedor de recursos mySQL. Aunque el adaptador existente continúa funcionando, se recomienda actualizar a la compilación más reciente lo antes posible.

Versión de Azure Stack Hub compatible MySQL RP, versión Windows Server en el que se está ejecutando el servicio RP
2206, 2301, 2306, 2311 MySQL RP versión 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2206 Proveedor de recursos MySQL versión 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0

Actualización del proveedor de recursos MySQL Server V2

Si ya ha implementado MySQL RP V2 y desea comprobar si hay actualizaciones, consulte Aplicación de actualizaciones al proveedor de recursos.

Si desea actualizar de MySQL RP V1 a MySQL RP V2, asegúrese de actualizar primero a MySQL RP V1.1.93.x, aplique el proceso de actualización de la versión principal para actualizar de MySQl RP V1 a MySQL RP V2.

Actualización del proveedor de recursos MySQL V1.1.93.x a MySQL V2.0.6.0

Prerrequisitos

  1. Asegúrese de actualizar MySQL RP V1 a la versión 1.1.93.x más reciente. En Suscripción de proveedor predeterminada, busque el grupo de recursos rp (formato de nomenclatura: system.<region>). mysqladapter). Confirme la etiqueta de versión y el nombre de la máquina virtual del proveedor de recursos MySQL en el grupo de recursos. Si todavía está en una versión anterior y necesita actualizar a 1.1.93.x, abra un caso de soporte técnico para obtener ayuda.

  2. Abra un caso de soporte técnico para obtener el paquete MajorVersionUpgrade y agregue su suscripción a la lista de permitidos del ASH del marketplace para la futura versión V2.

  3. Descargue Microsoft AzureStack Add-On RP Windows Server 1.2009.0 en el marketplace.

  4. Asegúrese de que Azure Stack Hub cumple los requisitos previos de integración del centro de datos.

    Requisito previo Referencia
    El reenvío condicional de DNS se ha establecido correctamente. Integración de Azure Stack Hub en el centro de datos: DNS
    Los puertos de entrada para los proveedores de recursos están abiertos. Integración de Azure Stack Hub en el centro de datos: puertos y protocolos entrantes
    Se han establecido correctamente el SAN y el asunto del certificado. Requisitos de certificados de infraestructura de clave pública de Azure Stack Hub: certificados obligatorios
    Requisitos de certificados de infraestructura de clave pública de Azure Stack Hub: certificados de PaaS opcionales
  5. (para entornos desconectados) Instale los módulos de PowerShell necesarios, de forma similar al proceso de actualización que se usa para la Implementación del proveedor de recursos MySQL.

  6. Prepare el URI del conector de MySQL con la versión necesaria. Para más información, consulte Implementación del proveedor de recursos de MySQL. Por ejemplo, https://<storageAcountName>.blob.<region>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Desencadenador MajorVersionUpgrade

Ejecute el siguiente script desde una consola de PowerShell con privilegios elevados para actualizar la versión principal.

Nota

Asegúrese de que la máquina cliente en la que ejecuta el script tenga una versión del sistema operativo no anterior a Windows 10 o Windows Server 2016, y que la máquina cliente tenga la arquitectura de sistema operativo X64.

Importante

Se recomienda encarecidamente usar los comandos Clear-AzureRmContext -Scope CurrentUser y Clear-AzureRmContext -Scope Process para borrar la memoria caché antes de ejecutar el script de implementación o de actualización.

# Check Operating System version
$osVersion = [environment]::OSVersion.Version
if ($osVersion.Build -lt 10240)
{
    Write-Host "OS version is too old: $osVersion."
    return
}

$osArch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
if ($osArch -ne "64-bit")
{
    Write-Host "OS Architecture is not 64 bit."
    return
}

# Check LongPathsEnabled registry key
$regPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem'
$longPathsEnabled = 'LongPathsEnabled'
$property = Get-ItemProperty -Path $regPath -Name $longPathsEnabled -ErrorAction Stop
if ($property.LongPathsEnabled -eq 0)
{
    Write-Host "Detect LongPathsEnabled equals to 0, prepare to set the property."
    Set-ItemProperty -Path $regPath -Name $longPathsEnabled -Value 1 -ErrorAction Stop
    Write-Host "Set the long paths property, please restart the PowerShell."
    return
} 

# Use the NetBIOS name for the Azure Stack Hub domain. 
$domain = "YouDomain" 
# For integrated systems, use the IP address of one of the ERCS VMs
$privilegedEndpoint = "YouDomain-ERCS01"
# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "AzureCloud"
# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\extracted-folder\MajorVersionUpgrade-MySQLRP'
# The service admin account can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)
# Add the cloudadmin credential that's required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)
# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'xxxxxxx' -AsPlainText -Force
# Provide the pfx file path
$PfxFilePath = "C:\tools\mysqlcert\SSL.pfx"
# Local blob uri where stores the required mysql connector
$MySQLConnector = "Provide the MySQL Connector Uri according to Prerequisites step."
# PowerShell modules used by the RP MajorVersionUpgrade are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 
. $tempDir\MajorVersionUpgradeMySQLProvider.ps1 -AzureEnvironment $AzureEnvironment -AzCredential $AdminCreds -CloudAdminCredential $CloudAdminCreds -Privilegedendpoint $privilegedEndpoint -PfxPassword $PfxPass -PfxCert $PfxFilePath -MySQLConnector $MySQLConnector

Nota:

La dirección DNS y la dirección IP correspondiente del proveedor de recursos de MySQL V2 son diferentes. Para obtener la nueva dirección IP pública, puede ponerse en contacto con el servicio de soporte técnico para solicitar un plan de emergencia de DRP y encontrar el recurso MySQLRPVM1130-PublicIP. Para averiguar la dirección IP pública, también puede ejecutar "nslookup mysqlrp.dbadapter.<fqdn>" desde una máquina cliente que ya haya superado la prueba de punto de conexión.

Validación de que la actualización se ha realizado correctamente

  1. El script MajorVersionUpgrade se ejecutó sin errores.
  2. Compruebe el proveedor de recursos en Marketplace y asegúrese de que MySQL RP 2.0 se ha instalado correctamente.
  3. El script no eliminará automáticamente el grupo de recursos system.location>.mysqladapter y el grupo de recursos > anteriores de la suscripción del proveedor predeterminado.
  • Se recomienda mantener la cuenta de almacenamiento y el Key Vault en el grupo de recursos mysqladapter durante algún tiempo. Si después de la actualización, cualquier usuario del inquilino observa metadatos incoherentes de inicio de sesión o de la base de datos, se puede solicitar soporte técnico para restaurar los metadatos desde el grupo de recursos.
  • Después de comprobar que la zona DNS del grupo de recursos dbadapter.dns está vacía sin ningún registro DNS, es seguro eliminar el grupo de recursos dbadapter.dns.
  • [IMPORTANTE] No use el script de implementación V1 para desinstalar la versión V1. Una vez completada la actualización y confirmado que la actualización se realizó correctamente, puede eliminar manualmente el grupo de recursos de la suscripción del proveedor.

Actualización de la versión anterior del proveedor de recursos MySQL V1 a MySQL V1.1.93.x

La actualización del proveedor de recursos MySQL V1 es acumulativa. Puede actualizar directamente a la versión 1.1.93.x.

Para actualizar el proveedor de recursos a la versión 1.1.93.x, use el script UpdateMySQLProvider.ps1. Use la cuenta de servicio con derechos de administrador local y de propietario de la suscripción. Este script de actualización se incluye con la descarga del proveedor de recursos.

Para actualizar el proveedor de recursos, use el script UpdateMySQLProvider.ps1. Use la cuenta de servicio con derechos de administrador local y de propietario de la suscripción. El script de actualización se incluye con la descarga del proveedor de recursos.

El proceso de actualización es similar al proceso usado para implementar el proveedor de recursos. El script de actualización usa los mismos argumentos que el script DeployMySqlProvider.ps1, y se deberá proporcionar información del certificado.

Procesos de script de actualización

El script UpdateMySQLProvider.ps1 crea una nueva máquina virtual con la imagen más reciente del sistema operativo, implementa el código del proveedor de recursos más reciente y migra la configuración del proveedor de recursos antiguo al nuevo.

Nota:

Se recomienda descargar la imagen Microsoft AzureStack Add-on RP Windows Server 1.2009.0 de la administración del marketplace. Si tiene que instalar una actualización, puede colocar un único paquete MSU en la ruta de acceso local de la dependencia. El script dará error si hay más de un archivo MSU en esta ubicación.

Cuando el script UpdateMySQLProvider.ps1 crea una nueva máquina virtual, también migra la siguiente configuración desde la máquina virtual del proveedor antiguo:

  • La información de base de datos
  • La información del servidor de hospedaje
  • El registro DNS necesario

Importante

Se recomienda encarecidamente usar los comandos Clear-AzureRmContext -Scope CurrentUser y Clear-AzureRmContext -Scope Process para borrar la memoria caché antes de ejecutar el script de implementación o de actualización.

Actualización de los parámetros de script

Puede especificar los siguientes parámetros desde la línea de comandos al ejecutar el script UpdateMySQLProvider.ps1 de PowerShell. Si no lo hace, o se produce un error en la validación de algún parámetro, se le pedirá que proporcione los parámetros necesarios.

Nombre de parámetro Descripción Comentario o valor predeterminado
CloudAdminCredential Credencial del administrador de la nube necesaria para el acceso al punto de conexión con privilegios. Obligatorio
AzCredential Credenciales de la cuenta de administrador de servicios de Azure Stack Hub. Use las mismas credenciales que para la implementación de Azure Stack Hub. Se producirá un error en el script si la cuenta que usa con AzCredential requiere autenticación multifactor (MFA). Obligatorio
VMLocalCredential Credenciales de la cuenta de administrador local de la máquina virtual del proveedor de recursos de MySQL. Obligatorio
PrivilegedEndpoint Dirección IP o nombre DNS del punto de conexión con privilegios. Obligatorio
AzureEnvironment Entorno de Azure de la cuenta de administrador de servicios que se usó para la implementación de Azure Stack Hub. Solo es necesario para las implementaciones de Microsoft Entra. Los nombres de entorno admitidos son AzureCloud, AzureUSGovernment o si se usa un Microsoft Entra ID de China, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath El archivo .pfx de certificados se debe colocar también en este directorio. Opcional (obligatorio para varios nodos)
DefaultSSLCertificatePassword Contraseña para el certificado .pfx. Obligatorio
MaxRetryCount El número de veces que quiere volver a intentar cada operación si se produce un error. 2
RetryDuration Intervalo de tiempo de expiración entre reintentos, en segundos. 120
Desinstalación Se quita el proveedor de recursos y todos los recursos asociados (vea las notas siguientes). No
DebugMode Impide la limpieza automática en caso de error. No
AcceptLicense Omite el aviso para aceptar la licencia GPL. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Ejemplo de actualización del script

Si va a actualizar el proveedor de recursos MySQL a la versión 1.1.33.0 o versiones anteriores, debe instalar versiones específicas de los módulos AzureRm.BootStrapper y Azure Stack Hub en PowerShell.

Si va a actualizar el proveedor de recursos de MySQL a la versión 1.1.47.0 u otra posterior, este paso se puede omitir. El script de implementación descargará e instalará automáticamente los módulos de PowerShell necesarios en la ruta de acceso C:\Archivos de programa\SqlMySqlPsh.

Nota:

Si la carpeta C:\Archivos de programa\SqlMySqlPsh ya existe con el módulo de PowerShell descargado, se recomienda limpiar esta carpeta antes de ejecutar el script de actualización. Esto se hace para asegurarse de que se descarga y se usa la versión correcta del módulo de PowerShell.

# Run the following scripts when updating to version 1.1.33.0 only.
# Install the AzureRM.Bootstrapper module, set the profile and install the AzureStack module.
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Nota:

Si trabaja en un escenario desconectado, deberá descargar los módulos de PowerShell necesarios y registrar el repositorio manualmente como requisito previo. Puede obtener más información en Implementación del proveedor de recursos MySQL.

El siguiente es un ejemplo que muestra el script UpdateMySQLProvider.ps1 que puede ejecutar desde una consola elevada de PowerShell. Asegúrese de cambiar la información de la variable y las contraseñas según sea necesario:

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$domain = "AzureStack" 

# For integrated systems, use the IP address of one of the ERCS VMs.
$privilegedEndpoint = "AzS-ERCS01" 

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported environment names are AzureCloud, AzureUSGovernment, or AzureChinaCloud. 
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted. 
$tempDir = 'C:\TEMP\MYSQLRP' 

# The service admin account (can be Azure Active Directory or Active Directory Federation Services).
$serviceAdmin = "admin@mydomain.onmicrosoft.com" 
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass) 
 
# Set credentials for the new resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("mysqlrpadmin", $vmLocalAdminPass) 
 
# And the cloudadmin credential required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass) 

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 

# Change directory to the folder where you extracted the installation files.
# Then adjust the endpoints.
.$tempDir\UpdateMySQLProvider.ps1 -AzCredential $AdminCreds -VMLocalCredential $vmLocalAdminCreds -CloudAdminCredential $cloudAdminCreds -PrivilegedEndpoint $privilegedEndpoint -AzureEnvironment $AzureEnvironment -DefaultSSLCertificatePassword $PfxPass -DependencyFilesLocalPath $tempDir\cert -AcceptLicense

Cuando finalice el script de actualización del proveedor de recursos, cierre la sesión actual de PowerShell.

Pasos siguientes

Mantenimiento del proveedor de recursos de MySQL