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, 2311 | 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 atualiza 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 RP V1 do MySQl 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
Certifique-se de que atualiza 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.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.
Transfira o Microsoft AzureStack Add-On RP Windows Server 1.2009.0 para o marketplace.
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(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.
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
- O script MajorVersionUpgrade foi executado sem erros.
- Verifique o fornecedor de recursos no marketplace e certifique-se de que o MySQL RP 2.0 foi instalado com êxito.
- 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 Microsoft Entra ID 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.