Atualize o fornecedor de recursos MySQL no Azure Stack Hub

Importante

A partir da construção 2108 do Azure Stack Hub, os fornecedores de recursos SQL e MySQL são oferecidos a subscrições que tenham tido acesso. Se pretender 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 guiá-lo através do processo de implementação ou atualização.

Importante

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

Importante

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

Um novo adaptador de fornecedor de recursos MySQL poderá ser lançado quando o Azure Stack Hub for atualizado. Enquanto o adaptador existente continua a funcionar, recomendamos a atualização para a construção mais recente o mais rapidamente possível.

Versão suportada do Azure Stack Hub Versão MySQL RP Windows Server que o serviço RP está em execução
2108,2206 MySQL RP versão 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2102, 2008, 2005 MySQL RP versão 1.1.93.5 Microsoft AzureStack Add-on RP Windows Server
2005, 2002, 1910 MySQL RP versão 1.1.47.0 Windows Server 2016 Datacenter - Núcleo do Servidor
1908 MySQL RP versão 1.1.33.0 Windows Server 2016 Datacenter - Núcleo do Servidor

Atualizar Provedor de recursos do MySQL Server V2

Se já implementou o MySQL RP V2 e pretende verificar se há atualizações, verifique como aplicar atualizações ao fornecedor de recursos.

Se quiser atualizar do MySQL RP V1 para MySQL RP V2, certifique-se de que foi atualizado pela primeira vez para MySQL RP V1.1.93.x, em seguida, aplique o processo de upgrade da versão principal para atualizar de MySQl RP V1 para MySQL RP V2.

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

Pré-requisitos

  1. Certifique-se de que atualizou o MySQL RP V1 para o mais recente 1.1.93.x. Em Subscrição de Fornecedor Predefinido, encontre o grupo de recursos RP (formato de nomeação: sistema.<region>. mysqladapter). Confirme a etiqueta de versão e o nome MySQL RP VM no grupo de recursos.

  2. Abra um caso de suporte para obter o pacote MajorVersionUpgrade e adicione a sua subscrição à lista de caixas de mercado ASH para a futura versão V2.

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

  4. Certifique-se de que os pré-requisitos de integração do datacenter são cumpridos.

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

  6. Prepare o Conector MySQL Uri. Para mais informações, consulte o fornecedor de recursos MySQL. por exemplo, https://< torageAcountName.blob>.< região>.< FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Gatilho MajorVersionUpgrade

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

Nota

Certifique-se de que a máquina cliente em que executou o script não é mais antiga do que Windows 10 ou Windows Server 2016, e a máquina do cliente tem Arquitetura do Sistema Operativo X64.

Importante

Recomendamos vivamente a utilização de 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 MySQL RP V2 são diferentes. Para obter o novo IP público, você pode contactar suporte para exigir um vidro de rutura 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 ponto final para descobrir o IP público.

Validar a atualização é bem sucedida

  1. O guião MajorVersionUpgrade executado sem erros.
  2. Verifique o fornecedor de recursos no mercado e certifique-se de que o MySQL RP 2.0 foi instalado com sucesso.
  3. O sistema antigo.< localização.mysqladapter> grupo de recursos e sistema.< location.dbadapter.dns> grupo de recursos na subscrição do fornecedor predefinido não será automaticamente eliminado pelo script.
  • Recomendamos manter 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 uma base de dados inconsistente ou metadados de login, é possível obter suporte para restaurar os metadados do grupo de recursos.
  • Depois de verificar se a Zona DNS do grupo de recursos dbadapter.dns está vazia sem registo DNS, é seguro apagar 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 atualização concluída e a confirmação de que a atualização foi bem sucedida, pode eliminar manualmente o grupo de recursos da subscrição do fornecedor.

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

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 UpdateMySQLProvider.ps1 script. Utilize a sua conta de serviço com direitos administrativos locais e é proprietária da subscrição. Este script de atualização está incluído com o download do fornecedor de recursos.

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

O processo de atualização é semelhante ao processo utilizado para implementar o fornecedor 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 scriptUpdateMySQLProvider.ps1 cria uma nova máquina virtual (VM) com a mais recente imagem de SO, implementa o mais recente código do fornecedor de recursos e migra as definições do antigo fornecedor de recursos para o novo fornecedor de recursos.

Nota

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

Após o UpdateMySQLProvider.ps1 script criar um novo VM, o script migra as seguintes definições do antigo provedor de recursos VM:

  • informações sobre bases de dados
  • hospedar informações do servidor
  • registo DNS necessário

Importante

Recomendamos vivamente a utilização de 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 comando quando executar o UpdateMySQLProvider.ps1 script PowerShell. Se não o fizer, ou se alguma validação de parâmetros falhar, é solicitado que forneça os parâmetros necessários.

Nome do Parâmetro Description Comentário ou valor predefinido
CloudAdminCredential A credencial para a administração da nuvem, necessária para aceder ao ponto final privilegiado. Obrigatório
AzCredential As credenciais para a conta de administração do Azure Stack Hub. Use as mesmas credenciais que usou para implantar o Azure Stack Hub. O script falhará se a conta que utilizar com o AzCredential necessitar de autenticação multi-factor (MFA). Obrigatório
VMLocalCredential As credenciais para a conta de administração local do fornecedor de recursos MySQL VM. Obrigatório
Ponto privilegiado O endereço IP ou o nome DNS do ponto final privilegiado. Obrigatório
AzureEnvironment O ambiente Azure da conta de administração de serviço utilizada para a implantação do Azure Stack Hub. Requerido apenas para Azure AD implantações. Os nomes do ambiente suportados são AzureCloud, AzureUSGovernment, ou se usar um Azure AD da China, AzureChinaCloud. AzureCloud
DependênciaFilesLocalPath O seu arquivo certificado .pfx também deve ser colocado neste diretório. Opcional (obrigatório para vários nós)
Palavra-passe defaultsslcertificatePassword A senha do certificado .pfx. Obrigatório
MaxRetryCount O número de vezes que pretende voltar a tentar cada operação se houver uma falha. 2
Retripduração O intervalo de tempo entre as recauchutagens, em segundos. 120
Desinstalar Remova o fornecedor de recursos e todos os recursos associados (ver as seguintes notas). Não
DebugMode Evita a limpeza automática em avarias. Não
Aceitar ALicense Ignora o pedido para aceitar a licença GPL. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Atualizar exemplo de script

Se estiver a atualizar a versão do fornecedor de recursos MySQL para versões 1.1.33.0 ou anteriores, tem 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 saltar este passo. O script de implementação irá descarregar e instalar automaticamente os módulos PowerShell necessários para que possa seguir o caminho C:\Program Files\SqlMySqlPsh.

Nota

Se a pasta C:\Program Files\SqlMySqlPsh já existir com o módulo PowerShell descarregado, é aconselhável limpar esta pasta antes de executar o script de atualização. Isto é para garantir que a versão certa do módulo PowerShell é descarregada 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

Nota

Em cenário desconectado, é necessário descarregar os módulos PowerShell necessários e registar o repositório manualmente como pré-requisito. Pode obter mais informações no fornecedor de recursos Implementar o MySQL

O exemplo a seguir mostra o UpdateMySQLProvider.ps1 script que podes executar a partir de uma consola PowerShell elevada. Certifique-se de alterar as informações e senhas variáveis 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