Uppdatera MySQL-resursprovidern i Azure Stack Hub

Viktigt

Från och med Azure Stack Hub build 2108 erbjuds SQL- och MySQL-resursprovidrar till prenumerationer som har beviljats åtkomst. Om du vill börja använda den här funktionen eller om du behöver uppgradera från en tidigare version öppnar du ett supportärende och våra supporttekniker vägleder dig genom distributions- eller uppgraderingsprocessen.

Viktigt

Innan du uppdaterar resursprovidern läser du viktig information om nya funktioner, korrigeringar och kända problem som kan påverka distributionen. Viktig information anger också den lägsta Azure Stack Hub-version som krävs för resursprovidern.

Viktigt

Om du uppdaterar resursprovidern uppdateras INTE värdservern för MySQL.

När Azure Stack Hub släpper en ny version kan vi släppa ett nytt MySQL-resursproviderkort. Medan det befintliga kortet fortsätter att fungera rekommenderar vi att du uppdaterar till den senaste versionen så snart som möjligt.

Azure Stack Hub-version som stöds MySQL RP-version Windows Server som RP-tjänsten körs på
2206, 2301, 2306, 2311 MySQL RP version 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2206 MySQL RP version 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0

Uppdatera MySQL Server-resursprovider V2

Om du redan har distribuerat MySQL RP V2 och vill söka efter uppdateringar kontrollerar du Så här tillämpar du uppdateringar på resursprovidern.

Om du vill uppdatera från MySQL RP V1 till MySQL RP V2 kontrollerar du att du först uppdaterar till MySQL RP V1.1.93.x och tillämpar sedan uppgraderingsprocessen för högre version för att uppgradera från MySQl RP V1 till MySQL RP V2.

Uppdatera från MySQL RP V1.1.93.x till MySQL RP V2.0.6.0

Förutsättningar

  1. Se till att du uppdaterar MySQL RP V1 till senaste 1.1.93.x. Under Standardleverantörsprenumeration letar du upp resursgruppen RP (namngivningsformat: system.<region>. mysqladapter). Bekräfta versionstaggen och MySQL RP VM-namnet i resursgruppen. Om du fortfarande har en gammal version och behöver uppdatera till 1.1.93.x öppnar du ett supportärende för hjälp.

  2. Öppna ett supportärende för att hämta MajorVersionUpgrade-paketet och lägg till din prenumeration på ASH Marketplace-listan över tillåtna för den framtida V2-versionen.

  3. Ladda ned Microsoft AzureStack Add-On RP Windows Server 1.2009.0 till Marketplace.

  4. Se till att din Azure Stack Hub uppfyller kraven för datacenterintegrering.

    Förutsättning Referens
    Villkorlig DNS-vidarebefordring har angetts korrekt. Integrering av Azure Stack Hub-datacenter – DNS
    Inkommande portar för resursprovidrar är öppna. Integrering av Azure Stack Hub-datacenter – Inkommande portar och protokoll
    PKI-certifikatsämnet och SAN har angetts korrekt. Obligatoriska PKI-krav för Azure Stack Hub-distribution
    Krav för PaaS-certifikat för Azure Stack Hub-distribution
  5. (för frånkopplad miljö) Installera nödvändiga PowerShell-moduler, ungefär som den uppdateringsprocess som används för att distribuera MySQL-resursprovidern.

  6. Förbered MySQL Connector-URI:n med den version som krävs. Mer information finns i Distribuera MySQL-resursprovidern. t.ex. https://< storageAcountName.blob>.<region>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Utlösa MajorVersionUpgrade

Kör följande skript från en upphöjd PowerShell-konsol för att utföra högre versionsuppgradering.

Anteckning

Kontrollera att klientdatorn som du kör skriptet på har operativsystemversion som inte är äldre än Windows 10 eller Windows Server 2016 och att klientdatorn har X64-operativsystemarkitektur.

Viktigt

Vi rekommenderar starkt att du använder Clear-AzureRmContext -Scope CurrentUser och Clear-AzureRmContext –Scope Process för att rensa cachen innan du kör distributions- eller uppdateringsskriptet.

# 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

Anteckning

DNS-adressen och motsvarande IP-adress för MySQL RP V2 skiljer sig åt. För att få den nya offentliga IP-adressen kan du kontakta supporten för att kräva ett DRP-brytglas och hitta den MySQLRPVM1130-PublicIP resursen. Du kan också köra "nslookup mysqlrp.dbadapter.<fqdn>" från en klientdator som redan klarade slutpunktstestet för att ta reda på den offentliga IP-adressen.

Kontrollera att uppgraderingen har slutförts

  1. MajorVersionUpgrade-skriptet kördes utan fel.
  2. Kontrollera resursprovidern på Marketplace och kontrollera att MySQL RP 2.0 har installerats.
  3. Det gamla systemet.<location.mysqladapter> resursgrupp och system.<resursgruppen location.dbadapter.dns> i standardleverantörsprenumerationen tas inte bort automatiskt av skriptet.
  • Vi rekommenderar att du behåller lagringskontot och Key Vault i resursgruppen mysqladapter under en tid. Om alla klientanvändare efter uppgraderingen observerar inkonsekventa databas- eller inloggningsmetadata är det möjligt att få stöd för att återställa metadata från resursgruppen.
  • När du har kontrollerat att DNS-zonen i resursgruppen dbadapter.dns är tom utan DNS-post är det säkert att ta bort resursgruppen dbadapter.dns.
  • [VIKTIGT] Använd inte V1-distributionsskriptet för att avinstallera V1-versionen. När uppgraderingen är klar och bekräftar att uppgraderingen lyckades kan du manuellt ta bort resursgruppen från providerprenumerationen.

Uppdatera från MySQL RP V1 tidigare version till MySQL RP V1.1.93.x

V1-uppdateringen för MySQL-resursprovidern är kumulativ. Du kan uppdatera direkt till versionen 1.1.93.x.

Om du vill uppdatera resursprovidern till 1.1.93.x använder du skriptetUpdateMySQLProvider.ps1 . Använd ditt tjänstkonto med lokala administrativa rättigheter och är ägare till prenumerationen. Det här uppdateringsskriptet ingår i nedladdningen av resursprovidern.

Om du vill uppdatera resursprovidern använder du skriptetUpdateMySQLProvider.ps1 . Använd ditt tjänstkonto med lokala administrativa rättigheter och är ägare till prenumerationen. Uppdateringsskriptet ingår i nedladdningen av resursprovidern.

Uppdateringsprocessen liknar den process som används för att distribuera resursprovidern. Uppdateringsskriptet använder samma argument som DeployMySqlProvider.ps1 skriptet och du måste ange certifikatinformation.

Uppdatera skriptprocesser

SkriptetUpdateMySQLProvider.ps1 skapar en ny virtuell dator (VM) med den senaste operativsystemavbildningen, distribuerar den senaste resursproviderkoden och migrerar inställningarna från den gamla resursprovidern till den nya resursprovidern.

Anteckning

Vi rekommenderar att du laddar ned Microsoft AzureStack-tillägget RP Windows Server 1.2009.0 från Marketplace Management. Om du behöver installera en uppdatering kan du placera ett enda MSU-paket i den lokala beroendesökvägen. Skriptet misslyckas om det finns fler än en MSU-fil på den här platsen.

När UpdateMySQLProvider.ps1 skriptet skapar en ny virtuell dator migrerar skriptet följande inställningar från den gamla virtuella resursproviderns virtuella dator:

  • databasinformation
  • värdserverinformation
  • nödvändig DNS-post

Viktigt

Vi rekommenderar starkt att du använder Clear-AzureRmContext -Scope CurrentUser och Clear-AzureRmContext –Scope Process för att rensa cachen innan du kör distributions- eller uppdateringsskriptet.

Uppdatera skriptparametrar

Ange följande parametrar från kommandoraden när du kör UpdateMySQLProvider.ps1 PowerShell-skriptet. Om du inte gör det, eller om någon parameterverifiering misslyckas, uppmanas du att ange de parametrar som krävs.

Parameternamn Description Kommentar eller standardvärde
CloudAdminCredential Autentiseringsuppgifterna för molnadministratören, som krävs för åtkomst till den privilegierade slutpunkten. Obligatoriskt
AzCredential Autentiseringsuppgifterna för Azure Stack Hub-tjänstadministratörskontot. Använd samma autentiseringsuppgifter som du använde för att distribuera Azure Stack Hub. Skriptet misslyckas om kontot som du använder med AzCredential kräver multifaktorautentisering (MFA). Obligatoriskt
VMLocalCredential Autentiseringsuppgifterna för det lokala administratörskontot för den virtuella datorn MySQL-resursprovider. Obligatoriskt
PrivilegedEndpoint IP-adressen eller DNS-namnet på den privilegierade slutpunkten. Obligatoriskt
AzureEnvironment Azure-miljön för tjänstadministratörskontot som används för att distribuera Azure Stack Hub. Krävs endast för Microsoft Entra distributioner. Miljönamn som stöds är AzureCloud, AzureUSGovernment eller om du använder en China Microsoft Entra ID, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Certifikatets .pfx-fil måste också placeras i den här katalogen. Valfritt (obligatoriskt för flera noder)
DefaultSSLCertificatePassword Lösenordet för .pfx-certifikatet. Obligatoriskt
MaxRetryCount Hur många gånger du vill försöka utföra varje åtgärd igen om det uppstår ett fel. 2
RetryDuration Tidsgränsintervallet mellan återförsök i sekunder. 120
Avinstallera Ta bort resursprovidern och alla associerade resurser (se följande anteckningar). No
DebugMode Förhindrar automatisk rensning vid fel. No
AcceptLicense Hoppar över uppmaningen om att acceptera GPL-licensen. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Exempel på uppdateringsskript

Om du uppdaterar MySQL-resursproviderversionen till 1.1.33.0 eller tidigare versioner måste du installera specifika versioner av AzureRm.BootStrapper- och Azure Stack Hub-moduler i PowerShell.

Om du uppdaterar MySQL-resursprovidern till version 1.1.47.0 eller senare kan du hoppa över det här steget. Distributionsskriptet laddar automatiskt ned och installerar nödvändiga PowerShell-moduler så att du kan söka efter C:\Program Files\SqlMySqlPsh.

Anteckning

Om mappen C:\Program Files\SqlMySqlPsh redan finns med PowerShell-modulen nedladdad rekommenderar vi att du rensar mappen innan du kör uppdateringsskriptet. Detta är för att se till att rätt version av PowerShell-modulen laddas ned och används.

# 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

Anteckning

I ett frånkopplat scenario måste du ladda ned nödvändiga PowerShell-moduler och registrera lagringsplatsen manuellt som en förutsättning. Du kan få mer information i Distribuera MySQL-resursprovider

I följande exempel visas detUpdateMySQLProvider.ps1 skript som du kan köra från en upphöjd PowerShell-konsol. Se till att ändra variabelinformationen och lösenorden efter behov:

# 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

När resursproviderns uppdateringsskript är klart stänger du den aktuella PowerShell-sessionen.

Nästa steg

Underhålla MySQL-resursprovidern