Aktualisieren des MySQL-Ressourcenanbieters in Azure Stack Hub

Wichtig

Ab dem Azure Stack Hub-Build 2108 werden die SQL- und MySQL-Ressourcenanbieter für Abonnements angeboten, denen Zugriff gewährt wurde. Wenn Sie dieses Feature nutzen möchten oder ein Upgrade von einer früheren Version benötigen, eröffnen Sie ein Supportticket, woraufhin unsere Supporttechniker Sie durch den Bereitstellungs- bzw. Upgradeprozess leiten werden.

Wichtig

Überprüfen Sie vor der Aktualisierung des Ressourcenanbieters die Anmerkungen zu dieser Version auf Informationen zu neuen Funktionen, Fehlerbehebungen und bekannten Problemen, die sich auf die Bereitstellung auswirken können. Die Versionshinweise geben auch die minimale Azure Stack Hub-Version an, die für den Ressourcenanbieter erforderlich ist.

Wichtig

Beim Aktualisieren des Ressourcenanbieters wird der MySQL-Hostserver NICHT aktualisiert.

Wenn Azure Stack Hub einen neuen Build veröffentlicht, können wir einen neuen MySQL-Ressourcenanbieteradapter veröffentlichen. Der vorhandene Adapter funktioniert zwar weiterhin, aber es ist ratsam, so schnell wie möglich das Update auf den aktuellen Build durchzuführen.

Unterstützte Azure Stack Hub-Version MySQL RP Version Windows Server-Instanz, auf der der RP-Dienst ausgeführt wird
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

Aktualisieren des MySQL Server-Ressourcenanbieters V2

Wenn Sie MySQL RP V2 bereits bereitgestellt haben und nach Updates suchen möchten, lesen Sie Vorgehensweise: Anwenden von Updates auf den Ressourcenanbieter.

Wenn Sie von MySQL RP V1 auf MySQL RP V2 aktualisieren möchten, stellen Sie sicher, dass Sie zuerst auf MySQL RP V1.1.93.x aktualisieren und dann den Hauptversionsupgradeprozess anwenden, um von MySQl RP V1 auf MySQL RP V2 zu aktualisieren.

Update von MySQL RP V1.1.93.x auf MySQL RP V2.0.6.0

Voraussetzungen

  1. Stellen Sie sicher, dass Sie MySQL RP V1 auf die neueste Version 1.1.93.x aktualisieren. Suchen Sie unter Standardanbieterabonnement die Ressourcengruppe RP (Namensformat: system.<region>. mysqladapter). Bestätigen Sie das Versionstag und den Namen der MySQL RP-VM in der Ressourcengruppe. Wenn Sie noch eine alte Version verwenden und auf 1.1.93.x aktualisieren müssen, öffnen Sie einen Supportfall, um Hilfe zu erhalten.

  2. Eröffnen Sie ein Supportticket, um das MajorVersionUpgrade-Paket zu erhalten, und fügen Sie Ihr Abonnement der Positivliste von ASH Marketplace für die künftige V2-Version hinzu.

  3. Laden Sie Microsoft AzureStack Add-On RP Windows Server 1.2009.0 in den Marketplace herunter.

  4. Stellen Sie sicher, dass Ihr Azure Stack Hub die Voraussetzungen für die Rechenzentrumsintegration erfüllt.

    Voraussetzung Verweis
    Bedingte DNS-Weiterleitung ist ordnungsgemäß festgelegt. Azure Stack Hub-Rechenzentrumsintegration – DNS
    Eingangsports für Ressourcenanbieter sind geöffnet. Azure Stack Hub-Rechenzentrumsintegration – Ports und Protokolle (eingehend)
    PKI-Zertifikatantragsteller und SAN sind ordnungsgemäß festgelegt. Obligatorische PKI-Voraussetzungen für die Azure Stack Hub-Bereitstellung
    PaaS-Zertifikatvoraussetzungen für die Azure Stack Hub-Bereitstellung
  5. (für Umgebungen ohne Internetverbindung) Installieren Sie die erforderlichen PowerShell-Module ähnlich wie beim Aktualisierungsprozess, der zum Bereitstellen des MySQL-Ressourcenanbieters verwendet wurde.

  6. Bereiten Sie den MySQL-Connector-URI mit der erforderlichen Version vor. Einzelheiten finden Sie unter Bereitstellen des MySQL-Ressourcenanbieters. Beispiel: https://<Speicherkontoname>.blob.<region>.<FQDN>/<Containername>/mysql-connector-net-8.0.21.msi

Auslösen von MajorVersionUpgrade

Führen Sie das folgende Skript über eine PowerShell-Konsole mit erhöhten Rechten aus, um ein Upgrade der Hauptversion durchzuführen.

Hinweis

Stellen Sie sicher, dass auf dem Clientcomputer, auf dem Sie das Skript ausführen, eine neuere Betriebssystemversion als Windows 10 oder Windows Server 2016 installiert ist und der Clientcomputer über eine X64-Betriebssystemarchitektur verfügt.

Wichtig

Es wird dringend empfohlen, Clear-AzureRmContext -Scope CurrentUser und Clear-AzureRmContext -Scope Process zu verwenden, um den Cache vor dem Ausführen des Bereitstellungs- oder Aktualisierungsskripts zu löschen.

# 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

Hinweis

Die DNS-Adresse und die entsprechende IP-Adresse von MySQL RP V2 unterscheiden sich. Um die neue öffentliche IP-Adresse zu erhalten, können Sie sich an den Support wenden, um einen DRP-Notfall anzufordern und die Ressource „MySQLRPVM1130-PublicIP“ zu ermitteln. Sie können auch „nslookup mysqlrp.dbadapter.< fqdn>“ auf einem Clientcomputer ausführen, der den Endpunkttest bereits bestanden hat, um die öffentliche IP-Adresse zu ermitteln.

Überprüfen, ob das Upgrade erfolgreich war

  1. Das MajorVersionUpgrade-Skript wurde ohne Fehler ausgeführt.
  2. Überprüfen Sie den Ressourcenanbieter im Marketplace, und stellen Sie sicher, dass MySQL RP 2.0 erfolgreich installiert wurde.
  3. Die alte Ressourcengruppe system.location>.mysqladapter und die Ressourcengruppe > im Abonnement des Standardanbieters werden nicht automatisch durch das Skript gelöscht.
  • Es wird empfohlen, das Speicherkonto und die Key Vault für einige Zeit in der Ressourcengruppe mysqladapter beizubehalten. Wenn nach dem Upgrade ein Mandantenbenutzer inkonsistente Datenbank- oder Anmeldemetadaten feststellt, ist es möglich, Unterstützung zum Wiederherstellen der Metadaten aus der Ressourcengruppe zu erhalten.
  • Nachdem Sie überprüft haben, ob die DNS-Zone in der Ressourcengruppe „dbadapter.dns“ ohne DNS-Eintrag leer ist, kann die Ressourcengruppe „dbadapter.dns“ gefahrlos gelöscht werden.
  • [WICHTIG] Verwenden Sie zum Deinstallieren der Version V1 nicht das V1-Bereitstellungsskript. Nachdem das Upgrade abgeschlossen und bestätigt wurde, dass das Upgrade erfolgreich war, können Sie die Ressourcengruppe manuell aus dem Anbieterabonnement löschen.

Update von einer früheren Version von MySQL RP V1 auf MySQL RP V1.1.93.x

Das Update des MySQL-Ressourcenanbieters V1 ist kumulativ. Sie können direkt ein Update auf Version 1.1.93.x vornehmen.

Verwenden Sie zum Aktualisieren des Ressourcenanbieters auf 1.1.93.x das Skript UpdateMySQLProvider.ps1. Verwenden Sie Ihr Dienstkonto mit lokalen Administratorrechten, das ein Besitzer des Abonnements ist. Dieses Updateskript ist im Download des Ressourcenanbieters enthalten.

Verwenden Sie zum Aktualisieren des Ressourcenanbieters das Skript UpdateMySQLProvider.ps1. Verwenden Sie Ihr Dienstkonto mit lokalen Administratorrechten, das ein Besitzer des Abonnements ist. Das Updateskript ist im Download des Ressourcenanbieters enthalten.

Der Updateprozess ähnelt dem Prozess zum Bereitstellen des Ressourcenanbieters. Das Updateskript verwendet die gleichen Argumente wie das Skript „DeployMySqlProvider.ps1“, und Sie müssen Zertifikatinformationen angeben.

Aktualisieren von Skriptprozessen

Das Skript UpdateMySQLProvider.ps1 erstellt eine neue VM mit dem neuesten Betriebssystemimage, stellt den aktuellen Ressourcenanbietercode bereit und migriert die Einstellungen vom alten zum neuen Ressourcenanbieter.

Hinweis

Es wird empfohlen, das Image „Microsoft AzureStack Add-on RP Windows Server 1.2009.0“ aus der Marketplace-Verwaltung herunterzuladen. Wenn Sie ein Update installieren müssen, können Sie unter dem lokalen Abhängigkeitspfad ein einzelnes MSU-Paket platzieren. Beim Skript tritt ein Fehler auf, wenn an diesem Speicherort mehrere MSU-Dateien vorhanden sind.

Nach dem Erstellen einer neuen VM migriert das Skript UpdateMySQLProvider.ps1 die folgenden Einstellungen von der alten Ressourcenanbieter-VM:

  • Datenbankinformationen
  • Hostserverinformationen
  • Erforderlicher DNS-Eintrag

Wichtig

Es wird dringend empfohlen, Clear-AzureRmContext -Scope CurrentUser und Clear-AzureRmContext -Scope Process zu verwenden, um den Cache vor dem Ausführen des Bereitstellungs- oder Aktualisierungsskripts zu löschen.

Aktualisieren von Skriptparametern

Wenn Sie das PowerShell-Skript UpdateMySQLProvider.ps1 ausführen, geben Sie die folgenden Parameter in der Befehlszeile an. Wenn Sie keine Parameter angeben oder bei der Überprüfung eines Parameters ein Fehler auftritt, werden Sie aufgefordert, die erforderlichen Parameter anzugeben.

Parametername BESCHREIBUNG Kommentar oder Standardwert
CloudAdminCredential Die Anmeldeinformationen für den Cloudadministrator, die für den Zugriff auf den privilegierten Endpunkt erforderlich sind. Erforderlich
AzCredential Die Anmeldeinformationen für das Azure Stack Hub-Dienstadministratorkonto. Verwenden Sie die gleichen Anmeldeinformationen wie bei der Bereitstellung von Azure Stack Hub. Das Skript schlägt fehl, wenn das Konto, das Sie mit AzCredential verwenden, eine mehrstufige Authentifizierung (Multi-Factor Authentication, MFA) erfordert. Erforderlich
VMLocalCredential Die Anmeldeinformationen für das lokale Administratorkonto des virtuellen Computers mit dem MySQL-Ressourcenanbieter. Erforderlich
PrivilegedEndpoint Die IP-Adresse oder der DNS-Name des privilegierten Endpunkts. Erforderlich
AzureEnvironment Die zum Bereitstellen von Azure Stack Hub verwendete Azure-Umgebung des Dienstadministratorkontos. Nur für Microsoft Entra-Bereitstellungen erforderlich. Unterstützte Umgebungsnamen sind AzureCloud, AzureUSGovernment oder bei Verwendung eines China-Microsoft Entra ID AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Ihre Zertifikatdatei (PFX) muss ebenfalls in diesem Verzeichnis abgelegt werden. Optional (obligatorisch bei mehreren Knoten)
DefaultSSLCertificatePassword Das Kennwort für das PFX-Zertifikat. Erforderlich
MaxRetryCount Die Anzahl von Wiederholungsversuchen für jeden Vorgang, wenn ein Fehler auftritt. 2
RetryDuration Das Timeoutintervall zwischen Wiederholungen in Sekunden. 120
Deinstallieren Entfernt den Ressourcenanbieter und alle zugeordneten Ressourcen (siehe folgende Hinweise). Nein
DebugMode Verhindert die automatische Bereinigung nach einem Fehler. Nein
AcceptLicense Überspringt die Aufforderung zum Akzeptieren der GPL-Lizenz. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Beispiel für ein Updateskript

Wenn Sie auf 1.1.33.0 oder frühere Versionen des MySQL-Ressourcenanbieters aktualisieren, müssen Sie bestimmte Versionen von AzureRm.BootStrapper und Azure Stack Hub-Modulen in PowerShell installieren.

Wenn Sie den MySQL-Ressourcenanbieter auf Version 1.1.47.0 oder höher aktualisieren, können Sie diesen Schritt überspringen. Das Bereitstellungsskript lädt die erforderlichen PowerShell-Module automatisch herunter und installiert sie im Pfad „C:\Programme\SqlMySqlPsh“.

Hinweis

Wenn der Ordner „C:\Programme\SqlMySqlPsh“ bereits vorhanden und ein PowerShell-Modul darin enthalten ist, empfiehlt es sich, diesen Ordner vor Ausführung des Updateskripts zu bereinigen. Dadurch wird sichergestellt, dass die richtige Version des PowerShell-Moduls heruntergeladen und verwendet wird.

# 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

Hinweis

In einem nicht verbundenen Szenario müssen Sie vor der Bereitstellung die erforderlichen PowerShell-Module manuell herunterladen und das Repository registrieren. Weitere Informationen finden Sie unter Bereitstellen des MySQL-Ressourcenanbieters in Azure Stack Hub.

Nachstehend finden Sie ein Beispiel für die Verwendung des Skripts UpdateMySQLProvider.ps1, das Sie an einer PowerShell-Konsole mit erhöhten Rechten ausführen können. Achten Sie darauf, die Variableninformationen und Kennwörter wie erforderlich zu ändern:

# 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

Wenn das Updateskript für den Ressourcenanbieter ausgeführt ist, schließen Sie die aktuelle PowerShell-Sitzung.

Nächste Schritte

Warten des MySQL-Ressourcenanbieters