Atualizar o fornecedor de recursos MySQL no Azure Stack Hub

Importante

A partir da compilação 2108 do Azure Stack Hub, os fornecedores de recursos SQL e MySQL são oferecidos às subscrições a quem foi concedido acesso. Se quiser começar a utilizar esta funcionalidade ou se precisar de atualizar a partir de uma versão anterior, abra um caso de suporte e os nossos engenheiros de suporte irão orientá-lo ao longo do processo de implementação ou atualização.

Importante

Antes de atualizar o fornecedor de recursos, reveja as notas de versão para saber mais sobre novas funcionalidades, correções e quaisquer problemas conhecidos que possam afetar a sua implementação. As notas de versão também especificam a versão mínima do Azure Stack Hub necessária para o fornecedor de recursos.

Importante

Atualizar o fornecedor de recursos NÃO atualizará o Servidor MySQL de alojamento.

Quando o Azure Stack Hub lançar uma nova compilação, poderemos lançar um novo adaptador do fornecedor de recursos MySQL. Embora o adaptador existente continue a funcionar, recomendamos que atualize para a compilação mais recente o mais rapidamente possível.

Versão suportada do Azure Stack Hub Versão do RP do MySQL Windows Server em que o serviço RP está em execução
2206, 2301, 2306 MySQL RP versão 2.0.13.x Suplemento Microsoft AzureStack RP Windows Server 1.2009.0
2108, 2206 MySQL RP versão 2.0.6.x Suplemento Microsoft AzureStack RP Windows Server 1.2009.0

Atualizar o fornecedor de recursos do MySQL Server V2

Se já tiver implementado o RP V2 do MySQL e quiser verificar a existência de atualizações, verifique Como aplicar atualizações ao fornecedor de recursos.

Se quiser atualizar do RP V1 do MySQL para o RP V2 do MySQL, certifique-se de que atualizou primeiro para o RP V1.1.93.x do MySQL e, em seguida, aplique o processo de atualização da versão principal para atualizar do MySQl RP V1 para o MySQL RP V2.

Atualizar do RP V1.1.93.x do MySQL para o RP V2.0.6.0 do MySQL

Pré-requisitos

  1. Certifique-se de que atualizou o RP V1 do MySQL para o 1.1.93.x mais recente. Em Subscrição de Fornecedor Predefinida, localize o grupo de recursos RP (formato de nomenclatura: system.<region>). mysqladapter). Confirme a etiqueta de versão e o nome da VM do RP mySQL no grupo de recursos. Se ainda estiver numa versão antiga e precisar de atualizar para a versão 1.1.93.x, abra um pedido de suporte para obter ajuda.

  2. Abra um pedido de suporte para obter o pacote MajorVersionUpgrade e adicione a sua subscrição à lista de permissões ash marketplace para a futura versão V2.

  3. Transfira o Microsoft AzureStack Add-On RP Windows Server 1.2009.0 para o marketplace.

  4. Certifique-se de que o Azure Stack Hub cumpre os pré-requisitos de integração do datacenter.

    Pré-requisito Referência
    O reencaminhamento DNS condicional está definido corretamente. Integração do datacenter do Azure Stack Hub - DNS
    As portas de entrada para fornecedores de recursos estão abertas. Integração do datacenter do Azure Stack Hub – Portas e protocolos de entrada
    O requerente do certificado PKI e SAN estão definidos corretamente. Pré-requisitos de PKI obrigatórios da implementação do Azure Stack Hub
    Pré-requisitos do certificado PaaS de implementação do Azure Stack Hub
  5. (para ambiente desligado) Instale os módulos do PowerShell necessários, semelhantes ao processo de atualização utilizado para Implementar o fornecedor de recursos MySQL.

  6. Prepare o Uri do Conector MySQL com a versão necessária. Para obter detalhes, veja Implementar o fornecedor de recursos MySQL. por exemplo, https://< storageAcountName.blob>.<região>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Acionar MajorVersionUpgrade

Execute o seguinte script a partir de uma consola elevada do PowerShell para realizar a atualização de versão principal.

Nota

Certifique-se de que o computador cliente no qual executa o script é da versão do SO não mais antiga do que Windows 10 ou Windows Server 2016 e que o computador cliente tem a Arquitetura do Sistema Operativo X64.

Importante

Recomendamos vivamente que utilize Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar a cache antes de executar o script de implementação ou atualização.

# 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

O endereço DNS e o endereço IP correspondente do RP V2 do MySQL são diferentes. Para obter o novo IP público, pode contactar o suporte para exigir um vidro de quebra DRP e encontrar o recurso MySQLRPVM1130-PublicIP. Também pode executar "nslookup mysqlrp.dbadapter.<fqdn>" de um computador cliente que já passou no teste de ponto final para descobrir o IP público.

Validar que a atualização foi efetuada com êxito

  1. O script MajorVersionUpgrade foi executado sem erros.
  2. Verifique o fornecedor de recursos no marketplace e certifique-se de que o MySQL RP 2.0 foi instalado com êxito.
  3. O sistema antigo.<location.mysqladapter> grupo de recursos e sistema.<O grupo de recursos location.dbadapter.dns> na subscrição do fornecedor predefinido não será eliminado automaticamente pelo script.
  • Recomendamos que mantenha a Conta de Armazenamento e o Key Vault no grupo de recursos mysqladapter durante algum tempo. Se após a atualização, qualquer utilizador inquilino observar metadados de base de dados ou de início de sessão inconsistentes, é possível obter suporte para restaurar os metadados a partir do grupo de recursos.
  • Depois de verificar se a Zona DNS no grupo de recursos dbadapter.dns está vazia sem registo DNS, é seguro eliminar o grupo de recursos dbadapter.dns.
  • [IMPORTANTE] Não utilize o script de implementação V1 para desinstalar a versão V1. Após a conclusão da atualização e a confirmação de que a atualização foi efetuada com êxito, pode eliminar manualmente o grupo de recursos da subscrição do fornecedor.

Atualizar da versão anterior do RP V1 do MySQL para o RP V1.1.93.x do MySQL

A atualização V1 do fornecedor de recursos MySQL é cumulativa. Pode atualizar diretamente para a versão 1.1.93.x.

Para atualizar o fornecedor de recursos para 1.1.93.x, utilize o script UpdateMySQLProvider.ps1 . Utilize a sua conta de serviço com direitos administrativos locais e é proprietário da subscrição. Este script de atualização está incluído na transferência do fornecedor de recursos.

Para atualizar o fornecedor de recursos, utilize o script UpdateMySQLProvider.ps1 . Utilize a sua conta de serviço com direitos administrativos locais e é proprietário da subscrição. O script de atualização está incluído na transferência do fornecedor de recursos.

O processo de atualização é semelhante ao processo utilizado para Implementar o fornecedor de recursos. O script de atualização utiliza os mesmos argumentos que o script DeployMySqlProvider.ps1 e terá de fornecer informações de certificado.

Atualizar processos de script

O scriptUpdateMySQLProvider.ps1 cria uma nova máquina virtual (VM) com a imagem mais recente do SO, implementa o código mais recente do fornecedor de recursos e migra as definições do fornecedor de recursos antigo para o novo fornecedor de recursos.

Nota

Recomendamos que transfira a imagem do Suplemento Microsoft AzureStack RP Windows Server 1.2009.0 a partir da Gestão do Marketplace. Se precisar de instalar uma atualização, pode colocar um único pacote MSU no caminho de dependência local. O script falhará se existir mais do que um ficheiro MSU nesta localização.

Depois de o script UpdateMySQLProvider.ps1 criar uma nova VM, o script migra as seguintes definições da VM do fornecedor de recursos antigo:

  • informações da base de dados
  • informações do servidor de alojamento
  • registo DNS necessário

Importante

Recomendamos vivamente que utilize Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar a cache antes de executar o script de implementação ou atualização.

Atualizar parâmetros de script

Especifique os seguintes parâmetros da linha de comandos quando executar o UpdateMySQLProvider.ps1 script do PowerShell. Se não o fizer, ou se alguma validação de parâmetro falhar, ser-lhe-á pedido que forneça os parâmetros necessários.

Nome do Parâmetro Description Comentário ou valor predefinido
CloudAdminCredential A credencial do administrador da cloud, necessária para aceder ao ponto final privilegiado. Obrigatório
AzCredential As credenciais da conta de administrador do serviço Azure Stack Hub. Utilize as mesmas credenciais que utilizou para implementar o Azure Stack Hub. O script falhará se a conta que utiliza com o AzCredential exigir autenticação multifator (MFA). Obrigatório
VMLocalCredential As credenciais da conta de administrador local da VM do fornecedor de recursos MySQL. Obrigatório
PrivilegedEndpoint O endereço IP ou o nome DNS do ponto final privilegiado. Obrigatório
AzureEnvironment O ambiente do Azure da conta de administrador de serviço utilizada para implementar o Azure Stack Hub. Necessário apenas para implementações Microsoft Entra. Os nomes de ambiente suportados são AzureCloud, AzureUSGovernment ou se utilizar um ID de Microsoft Entra da China, o AzureChinaCloud. AzureCloud
DependencyFilesLocalPath O ficheiro .pfx do certificado também tem de ser colocado neste diretório. Opcional (obrigatório para vários nós)
DefaultSSLCertificatePassword A palavra-passe do certificado .pfx. Obrigatório
MaxRetryCount O número de vezes que pretende repetir cada operação se ocorrer uma falha. 2
RepetirDuração O intervalo de tempo limite entre repetições, em segundos. 120
Desinstalar Remova o fornecedor de recursos e todos os recursos associados (veja as seguintes notas). No
DebugMode Impede a limpeza automática de falhas. No
AcceptLicense Ignora o pedido para aceitar a licença de GPL. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Exemplo de script de atualização

Se estiver a atualizar a versão do fornecedor de recursos MySQL para a versão 1.1.33.0 ou anterior, terá de instalar versões específicas dos módulos AzureRm.BootStrapper e Azure Stack Hub no PowerShell.

Se estiver a atualizar o fornecedor de recursos MySQL para a versão 1.1.47.0 ou posterior, pode ignorar este passo. O script de implementação irá transferir e instalar automaticamente os módulos do PowerShell necessários para que possa encaminhar C:\Programas\SqlMySqlPsh.

Nota

Se a pasta C:\Program Files\SqlMySqlPsh já existir com o módulo do PowerShell transferido, é recomendado limpar esta pasta antes de executar o script de atualização. Isto é para garantir que a versão certa do módulo do PowerShell é transferida e utilizada.

# 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

No cenário desligado, tem de transferir os módulos do PowerShell necessários e registar o repositório manualmente como um pré-requisito. Pode obter mais informações no fornecedor de recursos Implementar MySQL

O exemplo seguinte mostra o scriptUpdateMySQLProvider.ps1 que pode executar a partir de uma consola elevada do PowerShell. Certifique-se de que altera as informações e palavras-passe da variável conforme necessário:

# 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

Quando o script de atualização do fornecedor de recursos terminar, feche a sessão atual do PowerShell.

Passos seguintes

Manter o fornecedor de recursos MySQL