Delen via


De MySQL-resourceprovider bijwerken in Azure Stack Hub

Belangrijk

Vanaf Azure Stack Hub build 2108 worden de SQL- en MySQL-resourceproviders aangeboden aan abonnementen die toegang hebben gekregen. Als u deze functie wilt gaan gebruiken of als u een upgrade wilt uitvoeren van een vorige versie, een ondersteuningsaanvraag openen en onze ondersteuningstechnici begeleiden u bij de implementatie of het upgradeproces.

Belangrijk

Lees voordat u de resourceprovider bijwerkt de releaseopmerkingen voor meer informatie over nieuwe functionaliteit, oplossingen en bekende problemen die van invloed kunnen zijn op uw implementatie. In de releaseopmerkingen wordt ook de minimale Versie van Azure Stack Hub opgegeven die is vereist voor de resourceprovider.

Belangrijk

Het bijwerken van de resourceprovider zal de hosting MySQL Server NIET bijwerken.

Wanneer Azure Stack Hub een nieuwe build publiceert, kunnen we een nieuwe MySQL-resourceprovideradapter vrijgeven. Hoewel de bestaande adapter blijft werken, raden we u aan om zo snel mogelijk bij te werken naar de nieuwste build.

Ondersteunde Versie van Azure Stack Hub MySQL RP-versie Windows Server waarop de RP-service wordt uitgevoerd
2206, 2301, 2306, 2311 MySQL RP-versie 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2206 MySQL RP-versie 2.0.6.x Microsoft Azure Stack-add-on RP Windows Server 1.2009.0

MySQL Server-resourceprovider V2 bijwerken

Als u MySQL RP V2 al hebt geïmplementeerd en op updates wilt controleren, controleert u Updates toepassen op de resourceprovider.

Als u wilt bijwerken van MySQL RP V1 naar MySQL RP V2, moet u eerst bijwerken naar MySQL RP V1.1.93.x en vervolgens het primaire versie-upgradeproces toepassen om een upgrade uit te voeren van MySQl RP V1 naar MySQL RP V2.

Bijwerken van MySQL RP V1.1.93.x naar MySQL RP V2.0.6.0

Voorwaarden

  1. Zorg ervoor dat u MySQL RP V1 bijwerkt naar de nieuwste versie 1.1.93.x. Zoek onder Default Provider Subscriptionde RP-resourcegroep (naamgevingsindeling: systeem.<region>.mysqladapter). Bevestig de versietag en de naam van de MySQL RP-VM in de resourcegroep. Als u nog steeds een oude versie gebruikt en u wilt bijwerken naar 1.1.93.x, opent u een ondersteuningsaanvraag voor hulp.

  2. Open een ondersteuningsaanvraag om het MajorVersionUpgrade-pakket op te halen en voeg uw abonnement toe aan de ASH Marketplace-acceptatielijst voor de toekomstige V2-versie.

  3. Download Microsoft AzureStack Add-On RP Windows Server 1.2009.0 naar de Marketplace.

  4. Zorg ervoor dat uw Azure Stack Hub voldoet aan de vereisten voor datacenterintegratie.

    Voorwaarde Referentie
    Voorwaardelijke DNS-doorsturen is juist ingesteld. Azure Stack Hub-datacenterintegratie - DNS-
    Binnenkomende poorten voor resourceproviders zijn geopend. Azure Stack Hub-datacenterintegratie - Poorten en protocollen inkomende
    PKI-certificaatonderwerp en SAN zijn correct ingesteld. vereiste PKI-vereisten voor azure Stack Hub-implementatie
    paaS-certificaatvereisten voor PaaS-implementatie van Azure Stack Hub
  5. (voor niet-verbonden omgeving) Installeer de vereiste PowerShell-modules, vergelijkbaar met het updateproces dat wordt gebruikt voor het implementeren van de MySQL-resourceprovider .

  6. Bereid de MySQL Connector-URI voor met de vereiste versie. Voor meer informatie, raadpleeg De MySQL-resourceprovider implementeren. bijvoorbeeld https://<storageAccountName>.blob.<regio>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

MajorVersionUpgrade activeren

Voer het volgende script uit vanuit een PowerShell-console met verhoogde bevoegdheid om een upgrade van de primaire versie uit te voeren.

Notitie

Zorg ervoor dat de clientcomputer waarop u het script uitvoert, niet ouder is dan Windows 10 of Windows Server 2016 en dat de clientcomputer X64-besturingssysteemarchitectuur heeft.

Belangrijk

We raden u ten zeerste aan om Clear-AzureRmContext -Scope CurrentUser en Clear-AzureRmContext -Scope Process te gebruiken om de cache te wissen voordat u het implementatie- of updatescript uitvoert.

# 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

Notitie

Het DNS-adres en het bijbehorende IP-adres van MySQL RP V2 zijn verschillend. Als u het nieuwe openbare IP-adres wilt ophalen, kunt u contact opnemen met de ondersteuning om een DRP-onderbrekingsglas te vereisen en de MySQLRPVM1130-PublicIP resource te vinden. U kunt ook "nslookup mysqlrp.dbadapter.<fqdn>" uitvoeren vanaf een clientcomputer die de endpointtest al heeft doorstaan, om het openbare IP-adres te achterhalen.

Controleren of de upgrade is geslaagd

  1. Het MajorVersionUpgrade-script wordt zonder fouten uitgevoerd.
  2. Controleer de resourceprovider in Marketplace en zorg ervoor dat MySQL RP 2.0 is geïnstalleerd.
  3. Het oude systeem.<locatie>.mysqladapter resourcegroep en systeem.<locatie>.dbadapter.dns resourcegroep in het standaardproviderabonnement wordt niet automatisch door het script verwijderd.
  • Het is raadzaam om het opslagaccount en de sleutelkluis gedurende enige tijd in de mysqladapter-resourcegroep te bewaren. Als een tenantgebruiker na de upgrade inconsistente database- of aanmeldingsmetagegevens ziet, is het mogelijk om ondersteuning te krijgen voor het herstellen van de metagegevens uit de resourcegroep.
  • Nadat u hebt gecontroleerd of de DNS-zone in de resourcegroep dbadapter.dns leeg is zonder DNS-record, is het veilig om de resourcegroep dbadapter.dns te verwijderen.
  • [BELANGRIJK] Gebruik het V1-implementatiescript niet om de V1-versie te verwijderen. Nadat de upgrade is voltooid en bevestiging dat de upgrade is geslaagd, kunt u de resourcegroep handmatig verwijderen uit het providerabonnement.

Bijwerken van MySQL RP V1 eerdere versie naar MySQL RP V1.1.93.x

De update van mySQL-resourceprovider V1 is cumulatief. U kunt rechtstreeks bijwerken naar de versie 1.1.93.x.

Als u de resourceprovider wilt bijwerken naar 1.1.93.x, gebruikt u het script UpdateMySQLProvider.ps1. Gebruik uw serviceaccount met lokale beheerdersrechten en als eigenaar van het abonnement. Dit updatescript is opgenomen in het downloaden van de resourceprovider.

Als u de resourceprovider wilt bijwerken, gebruikt u het UpdateMySQLProvider.ps1 script. Gebruik uw serviceaccount met lokale beheerdersrechten dat ook een eigenaar van het abonnement is. Het updatescript is opgenomen in het downloaden van de resourceprovider.

Het updateproces is vergelijkbaar met het proces dat wordt gebruikt om de resourceprovider te uitrollen. Het updatescript gebruikt dezelfde argumenten als het DeployMySqlProvider.ps1 script en u moet certificaatgegevens opgeven.

Scriptprocessen bijwerken

Met het UpdateMySQLProvider.ps1 script maakt u een nieuwe virtuele machine (VM) met de meest recente installatiekopieën van het besturingssysteem, implementeert u de meest recente resourceprovidercode en migreert u de instellingen van de oude resourceprovider naar de nieuwe resourceprovider.

Notitie

Wij raden u aan de Microsoft AzureStack Add-on RP Windows Server 1.2009.0 afbeelding te downloaden van Marketplace Management. Als u een update moet installeren, kunt u een enkele MSU-pakket in het lokale afhankelijkheidspad plaatsen. Het script mislukt als er meer dan één MSU-bestand op deze locatie is.

Nadat het UpdateMySQLProvider.ps1 script een nieuwe VIRTUELE machine heeft gemaakt, migreert het script de volgende instellingen van de oude resourceprovider-VM:

  • databasegegevens
  • hostingservergegevens
  • vereiste DNS-record

Belangrijk

We raden u ten zeerste aan om Clear-AzureRmContext -Scope CurrentUser en Clear-AzureRmContext -Scope Process te gebruiken om de cache te wissen voordat u het implementatie- of updatescript uitvoert.

Scriptparameters bijwerken

Geef de volgende parameters op vanaf de opdrachtregel wanneer u het UpdateMySQLProvider.ps1 PowerShell-script uitvoert. Als u dat niet doet of als er een parametervalidatie mislukt, wordt u gevraagd om de vereiste parameters op te geven.

Parameternaam Beschrijving Opmerking of standaardwaarde
CloudAdminCredential De referentie voor de cloudbeheerder, die nodig is voor toegang tot het bevoegde eindpunt. Vereist
AzCredential- De referenties voor het Azure Stack Hub-servicebeheerdersaccount. Gebruik dezelfde referenties die u hebt gebruikt voor het implementeren van Azure Stack Hub. Het script mislukt als het account dat u met AzCredential gebruikt, meervoudige verificatie (MFA) vereist. Vereist
VMLocalCredential De inloggegevens voor het lokale beheerdersaccount van de MySQL-resourceprovider-VM. Vereist
PrivilegedEndpoint- Het IP-adres of de DNS-naam van het bevoegde eindpunt. Vereist
AzureEnvironment De Azure-omgeving van het servicebeheerdersaccount dat wordt gebruikt voor het implementeren van Azure Stack Hub. Alleen vereist voor Microsoft Entra-implementaties. Ondersteunde omgevingsnamen zijn AzureCloud, AzureUSGovernmentof als u een Microsoft Entra-id van China gebruikt, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath- Het PFX-bestand van het certificaat moet ook in deze map worden geplaatst. Optionele (verplichte voor meerdere knooppunten)
DefaultSSLCertificatePassword Het wachtwoord voor het PFX-certificaat. Vereist
MaxRetryCount Het aantal keren dat u elke bewerking opnieuw wilt uitvoeren als er een fout optreedt. 2
RetryDuration Het time-outinterval tussen nieuwe pogingen, in seconden. 120
verwijderen Verwijder de resourceprovider en alle bijbehorende resources (zie de volgende opmerkingen). Nee
DebugMode- Voorkomt automatisch opschonen bij een storing. Nee
AccepteerLicentie Hiermee wordt de prompt om de GPL-licentie te accepteren overgeslagen. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Voorbeeld van updatescript

Als u de mySQL-resourceproviderversie bijwerkt naar 1.1.33.0 of eerdere versies, moet u specifieke versies van AzureRm.BootStrapper en Azure Stack Hub-modules installeren in PowerShell.

Als u de MySQL-resourceprovider bijwerkt naar versie 1.1.47.0 of hoger, kunt u deze stap overslaan. Het implementatiescript downloadt en installeert automatisch de benodigde PowerShell-modules voor u naar het pad C:\Program Files\SqlMySqlPsh.

Notitie

Als map C:\Program Files\SqlMySqlPsh al bestaat met de PowerShell-module die is gedownload, wordt u aangeraden deze map op te schonen voordat u het updatescript uitvoert. Dit is om ervoor te zorgen dat de juiste versie van de PowerShell-module wordt gedownload en gebruikt.

# 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

Notitie

In een niet-verbonden scenario moet u de vereiste PowerShell-modules downloaden en de opslagplaats handmatig registreren als een vereiste. Meer informatie vindt u in MySQL-resourceprovider implementeren

In het volgende voorbeeld ziet u het UpdateMySQLProvider.ps1 script dat u kunt uitvoeren vanuit een PowerShell-console met verhoogde bevoegdheid. Zorg ervoor dat u de variabelegegevens en wachtwoorden indien nodig wijzigt:

# 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

Wanneer het updatescript van de resourceprovider is voltooid, sluit u de huidige PowerShell-sessie.

Volgende stappen

MySQL-resourceprovider onderhouden