Partilhar via


Atualizar o provedor de recursos MySQL no Azure Stack Hub

Importante

A partir da compilação 2108 do Azure Stack Hub, os provedores de recursos SQL e MySQL são oferecidos para assinaturas às quais foi concedido acesso. Se você quiser começar a usar esse recurso, ou se precisar atualizar de uma versão anterior, abra um caso de suporte e nossos engenheiros de suporte irão guiá-lo através do processo de implantação ou atualização.

Importante

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

Importante

A atualização do provedor de recursos NÃO atualizará o servidor MySQL de hospedagem.

Quando o Azure Stack Hub lança uma nova compilação, podemos lançar um novo adaptador de provedor de recursos MySQL. Enquanto o adaptador existente continua a funcionar, recomendamos atualizar para a compilação mais recente o mais rápido possível.

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

Atualizar o provedor de recursos do MySQL Server V2

Se você já implantou o MySQL RP V2 e deseja verificar se há atualizações, consulte Como aplicar atualizações ao provedor de recursos.

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

Atualização do MySQL RP V1.1.93.x para o MySQL RP V2.0.6.0

Pré-requisitos

  1. Certifique-se de atualizar o MySQL RP V1 para o 1.1.93.x mais recente. Na , em Subscrição de Fornecedor Predefinido, localize o grupo de recursos RP (formato de nomenclatura: system.<region>.mysqladapter). Confirme a tag de versão e o nome da VM MySQL RP no grupo de recursos. Se você ainda estiver em uma versão antiga e precisar atualizar para 1.1.93.x, abra um caso de suporte para obter ajuda.

  2. Abra um caso de suporte para obter o pacote MajorVersionUpgrade e adicione sua assinatura à lista de permissões do mercado ASH para a futura versão V2.

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

  4. Verifique se o Azure Stack Hub atende aos pré-requisitos de integração do datacenter.

    Pré-requisito Referência
    O encaminhamento DNS condicional está definido corretamente. Integração entre o datacenter e o Azure Stack Hub - DNS
    As portas de entrada para provedores de recursos estão abertas. integração do datacenter do Azure Stack Hub - Portas e protocolos de entrada
    O assunto do certificado PKI e a SAN estão definidos corretamente. pré-requisitos obrigatórios de PKI de implantação do Azure Stack Hub
    pré-requisitos de certificado PaaS de implantação do Azure Stack Hub
  5. (para ambiente desconectado) Instale os módulos necessários do PowerShell, semelhante ao processo de atualização usado para Implantar o provedor de recursos MySQL.

  6. Prepare o URI do Conector MySQL com a versão necessária. Para obter detalhes, consulte Implantar o provedor de recursos MySQL. por exemplo, https://<storageAccountName>.blob.<região>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Acionar MajorVersionUpgrade

Execute o seguinte script a partir de um console do PowerShell elevado para executar a atualização da versão principal.

Observação

Verifique se a máquina cliente na qual você executa o script é da versão do sistema operacional não mais antiga que o Windows 10 ou o Windows Server 2016 e se a máquina cliente tem a arquitetura do sistema operacional X64.

Importante

É altamente recomendável usar Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar o cache antes de executar o script de implantaçã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

Observação

O endereço DNS e o endereço IP correspondente do MySQL RP V2 são diferentes. Para obter o novo IP público, pode-se entrar em contato com o suporte para solicitar um acesso de emergência DRP e encontrar o recurso MySQLRPVM1130-PublicIP. Você também pode executar "nslookup mysqlrp.dbadapter.<fqdn>" de uma máquina cliente que já passou no teste de endpoint para descobrir o IP público.

Validar se a atualização foi bem-sucedida

  1. O script MajorVersionUpgrade foi executado sem erros.
  2. Verifique o provedor de recursos no marketplace e certifique-se de que o MySQL RP 2.0 foi instalado com êxito.
  3. O sistema antigo .<localização>.mysqladapter grupo de recursos e sistema.<localização>.dbadapter.dns grupo de recursos na subscrição do provedor padrão não será excluído automaticamente pelo script.
  • Recomendamos manter a Conta de Armazenamento e o Cofre da Chave no grupo de recursos mysqladapter por algum tempo. Se, após a atualização, qualquer usuário locatário observar metadados inconsistentes de banco de dados ou login, é possível obter suporte para restaurar os metadados do grupo de recursos.
  • Depois de verificar se a Zona DNS no grupo de recursos dbadapter.dns está vazia sem registro DNS, é seguro excluir o grupo de recursos dbadapter.dns.
  • [IMPORTANTE] Não use o script de implantaçã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 bem-sucedida, você pode excluir manualmente o grupo de recursos da assinatura do provedor.

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

A atualização V1 do provedor de recursos MySQL é cumulativa. Você pode atualizar diretamente para a versão 1.1.93.x.

Para atualizar o provedor de recursos para 1.1.93.x, use o script UpdateMySQLProvider.ps1. Use a sua conta de serviço com direitos administrativos locais e seja proprietário da assinatura. Este script de atualização está incluído com o download do provedor de recursos.

Para atualizar o provedor de recursos, use o script UpdateMySQLProvider.ps1. Use a sua conta de serviço com direitos administrativos locais e seja proprietário da assinatura. O script de atualização está incluído no download do provedor de recursos.

O processo de atualização é semelhante ao processo usado para Implantar o provedor de recursos. O script de atualização usa os mesmos argumentos que o script DeployMySqlProvider.ps1 e você precisará fornecer informações de certificado.

Atualizar processos de script

O script UpdateMySQLProvider.ps1 cria uma nova máquina virtual (VM) com a imagem mais recente do sistema operacional, implanta o código mais recente do provedor de recursos e migra as configurações do provedor de recursos antigo para o novo provedor de recursos.

Observação

Recomendamos que você baixe a imagem do Microsoft AzureStack Add-on RP Windows Server 1.2009.0 do Marketplace Management. Se precisar instalar uma atualização, poderá colocar um pacote MSU único no caminho de dependência local. O script falhará se houver mais de um arquivo MSU neste local.

Depois que o script UpdateMySQLProvider.ps1 cria uma nova VM, o script migra as seguintes configurações da VM antiga do provedor de recursos:

  • informações da base de dados
  • informações do servidor de hospedagem
  • registro DNS necessário

Importante

É altamente recomendável usar Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar o cache antes de executar o script de implantação ou atualização.

Atualizar parâmetros de script

Especifique os seguintes parâmetros na linha de comando ao executar o script do UpdateMySQLProvider.ps1 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 Descrição Comentário ou valor padrão
CloudAdminCredential A credencial para o administrador de nuvem, necessária para aceder à interface privilegiada. Necessário
AzCredential As credenciais para a conta de administrador do serviço Azure Stack Hub. Use as mesmas credenciais que você usou para implantar o Azure Stack Hub. O script falhará se a conta que você usa com AzCredential exigir autenticação multifator (MFA). Necessário
VMLocalCredential As credenciais para a conta de administrador local da VM do provedor de recursos MySQL. Necessário
PrivilegedEndpoint O endereço IP ou nome DNS do ponto de extremidade privilegiado. Necessário
AzureEnvironment O ambiente do Azure da conta de administrador de serviço usada para implantar o Azure Stack Hub. Necessário apenas para implantações do Microsoft Entra. Os nomes de ambiente suportados são AzureCloud, AzureUSGovernmentou, se estiver usando uma ID do Microsoft Entra da China, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Seu arquivo .pfx de certificado também deve ser colocado neste diretório. opcional ( obrigatório para vários nós)
Password padrão do certificado SSL A senha para o certificado .pfx. Necessário
ContagemMáximaDeTentativas O número de vezes que você deseja repetir cada operação se houver uma falha. 2
DuraçãoDeReintentar O intervalo de tempo limite entre as tentativas, em segundos. cento e vinte
Desinstalar Remova o provedor de recursos e todos os recursos associados (consulte as notas a seguir). Não
Modo de Depuração Previne a limpeza automática em caso de falha. Não
AceitarLicença Ignora o prompt para aceitar a licença GPL. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Exemplo de script de atualização

Se você estiver atualizando a versão do provedor de recursos MySQL para 1.1.33.0 ou versões anteriores, precisará instalar versões específicas dos módulos AzureRm.BootStrapper e Azure Stack Hub no PowerShell.

Se você estiver atualizando o provedor de recursos do MySQL para a versão 1.1.47.0 ou posterior, você pode pular esta etapa. O script de implantação baixará e instalará automaticamente os módulos necessários do PowerShell no caminho C:\Programas\SqlMySqlPsh.

Observação

Se a pasta C:\Program Files\SqlMySqlPsh já existir com o módulo PowerShell baixado, é recomendável limpar essa pasta antes de executar o script de atualização. Isso é para garantir que a versão correta do módulo PowerShell seja baixada e usada.

# 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

Observação

No cenário desconectado, você precisa baixar os módulos necessários do PowerShell e registrar o repositório manualmente como pré-requisito. Você pode obter mais informações em Implementar o fornecedor de recursos MySQL

O exemplo a seguir mostra o script UpdateMySQLProvider.ps1 que você pode executar a partir de um console do PowerShell elevado. Certifique-se de alterar as informações variáveis e senhas 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 provedor de recursos terminar, feche a sessão atual do PowerShell.

Próximos passos

Manter o provedor de recursos MySQL