Udostępnij za pośrednictwem


Aktualizowanie dostawcy zasobów MySQL w usłudze Azure Stack Hub

Ważny

Począwszy od kompilacji 2108 usługi Azure Stack Hub, dostawcy zasobów SQL i MySQL są oferowani subskrypcjom, którym udzielono dostępu. Jeśli chcesz rozpocząć korzystanie z tej funkcji lub jeśli chcesz przeprowadzić uaktualnienie z poprzedniej wersji, otworzyć zgłoszenie do pomocy technicznej, a nasi inżynierowie pomocy technicznej przeprowadzą Cię przez proces wdrażania lub uaktualniania.

Ważny

Przed zaktualizowaniem dostawcy zasobów przejrzyj informacje o wersji, aby dowiedzieć się więcej o nowych funkcjach, poprawkach i znanych problemach, które mogą mieć wpływ na wdrożenie. Informacje o wersji określają również minimalną wersję usługi Azure Stack Hub wymaganą dla dostawcy zasobów.

Ważny

Zaktualizowanie dostawcy zasobów NIE spowoduje zaktualizowania hosta serwera MySQL.

Gdy usługa Azure Stack Hub wyda nową kompilację, możemy wydać nowy adapter dostawcy zasobów MySQL. Mimo że istniejący adapter nadal działa, zalecamy jak najszybszą aktualizację do najnowszej wersji.

Obsługiwana wersja usługi Azure Stack Hub wersja RP MySQL System Windows Server, na którym działa usługa RP
2206, 2301, 2306, 2311 MySQL RP w wersji 2.0.13.x Dodatek Microsoft AzureStack RP dla systemu Windows Server 1.2009.0
2108, 2206 MySQL RP w wersji 2.0.6.x Dodatek Microsoft AzureStack RP dla systemu Windows Server 1.2009.0

Aktualizowanie dostawcy zasobów serwera MySQL w wersji 2

Jeśli wdrożono już MySQL RP V2 i chcesz sprawdzić aktualizacje, sprawdź Jak zastosować aktualizacje u dostawcy zasobów.

Jeśli chcesz zaktualizować program MySQL RP V1 do MySQL RP V2, upewnij się, że najpierw zaktualizujesz program MySQL RP do wersji 1.1.93.x, a następnie zastosuj proces uaktualniania do głównej wersji, aby zaktualizować program z MySQL RP V1 do MySQL RP V2.

Aktualizacja z programu MySQL RP w wersji 1.1.93.x do usługi MySQL RP w wersji 2.0.6.0

Warunki wstępne

  1. Upewnij się, że zaktualizowano program MySQL RP V1 do najnowszej wersji 1.1.93.x. W obszarze Domyślna subskrypcja dostawcyznajdź grupę zasobów RP (format nazewnictwa: system.<region>.mysqladapter). Potwierdź tag wersji i nazwę maszyny wirtualnej MySQL RP w grupie zasobów. Jeśli nadal korzystasz ze starej wersji i musisz zaktualizować do wersji 1.1.93.x, otwórz zgłoszenie do pomocy technicznej.

  2. Otwórz zgłoszenie do pomocy technicznej, aby uzyskać pakiet MajorVersionUpgrade i dodać subskrypcję do listy dozwolonych w ASH Marketplace dla przyszłej wersji V2.

  3. Pobierz Microsoft AzureStack Add-On RP Windows Server 1.2009.0 do marketu.

  4. Upewnij się, że usługa Azure Stack Hub spełnia wymagania wstępne dotyczące integracji centrum danych.

    Warunek wstępny Odniesienie
    Warunkowe przekazywanie DNS jest poprawnie ustawione. integracja centrum danych usługi Azure Stack Hub — DNS
    Porty przychodzące dla dostawców zasobów są otwarte. integracja centrum danych Azure Stack Hub — porty i protokoły przychodzące
    Podmiot certyfikatu PKI i sieć SAN są poprawnie ustawione. obowiązkowe wymagania dotyczące PKI dla wdrożenia Azure Stack Hub
    wymagania wstępne dotyczące certyfikatu PaaS wdrożenia usługi Azure Stack Hub
  5. (w przypadku środowiska bez połączenia) Zainstaluj wymagane moduły programu PowerShell podobne do procesu aktualizacji używanego do Wdrażanie dostawcy zasobów MySQL.

  6. Przygotuj adres URI złącza MySQL z wymaganą wersją. Aby uzyskać szczegółowe informacje, zobacz Wdrażanie dostawcy zasobów MySQL. e.g. https://<storageAcountName>.blob.<region>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Wyzwalanie majorVersionUpgrade

Uruchom następujący skrypt z konsoli programu PowerShell z podwyższonym poziomem uprawnień, aby przeprowadzić uaktualnienie wersji głównej.

Nota

Upewnij się, że maszyna kliencka, na której jest uruchamiany skrypt, ma wersję systemu operacyjnego nie starszą niż Windows 10 lub Windows Server 2016, a komputer kliencki ma architekturę systemu operacyjnego X64.

Ważny

Zdecydowanie zalecamy użycie Clear-AzureRmContext -Scope CurrentUser i Clear-AzureRmContext -Scope Process w celu wyczyszczenia pamięci podręcznej przed uruchomieniem skryptu wdrożenia lub aktualizacji.

# 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

Notatka

Adres DNS i odpowiedni adres IP dla MySQL RP V2 są różne. Aby uzyskać nowy publiczny adres IP, możesz skontaktować się z pomocą techniczną, aby zażądać procedury awaryjnej DRP i znaleźć zasób MySQLRPVM1130-PublicIP. Można również uruchomić polecenie "nslookup mysqlrp.dbadapter.<fqdn>" z komputera klienckiego, który już przeszedł test punktu końcowego, aby dowiedzieć się publicznego adresu IP.

Sprawdzanie, czy uaktualnienie zakończyło się pomyślnie

  1. Skrypt MajorVersionUpgrade został wykonany bez żadnych błędów.
  2. Sprawdź dostawcę zasobów na rynku i upewnij się, że MySQL RP 2.0 został pomyślnie zainstalowany.
  3. Stary system . Lokalizacja<>.mysqladapter, grupa zasobów i system . Lokalizacja<>.dbadapter.dns, grupa zasobów w domyślnej subskrypcji dostawcy nie zostaną automatycznie usunięte przez skrypt.
  • Zalecamy przechowywanie konta magazynu i usługi Key Vault w grupie zasobów mysqladapter przez jakiś czas. Jeśli po uaktualnieniu dowolny użytkownik dzierżawy obserwuje niespójne metadane bazy danych lub logowania, można uzyskać pomoc techniczną dotyczącą przywracania metadanych z grupy zasobów.
  • Po sprawdzeniu, czy strefa DNS w grupie zasobów dbadapter.dns jest pusta bez rekordu DNS, można bezpiecznie usunąć grupę zasobów dbadapter.dns.
  • [WAŻNE] Nie używaj skryptu wdrażania V1, aby odinstalować wersję V1. Po zakończeniu uaktualniania i potwierdzeniu, że uaktualnienie zakończyło się pomyślnie, możesz ręcznie usunąć grupę zasobów z subskrypcji dostawcy.

Aktualizacja z wcześniejszej wersji MySQL RP V1 do MySQL RP V1.1.93.x

Aktualizacja dostawcy zasobów MySQL w wersji 1 jest zbiorcza. Możesz bezpośrednio zaktualizować do wersji 1.1.93.x.

Aby zaktualizować dostawcę zasobów do wersji 1.1.93.x, użyj skryptu UpdateMySQLProvider.ps1. Użyj konta usługi z lokalnymi uprawnieniami administracyjnymi, które jest właścicielem subskrypcji . Ten skrypt aktualizacji jest dołączony do paczki pobierania od dostawcy zasobów.

Aby zaktualizować dostawcę zasobów, należy użyć skryptu UpdateMySQLProvider.ps1. Użyj konta usługi z lokalnymi uprawnieniami administracyjnymi i jest właścicielem subskrypcji. Skrypt aktualizacji jest dołączany do pobierania dostawcy zasobów.

Proces aktualizacji jest podobny do procesu używanego do Wdrażanie dostawcy zasobów. Skrypt aktualizacji używa tych samych argumentów co skrypt DeployMySqlProvider.ps1 i musisz podać informacje o certyfikacie.

Aktualizowanie procesów skryptów

Skrypt UpdateMySQLProvider.ps1 tworzy nową maszynę wirtualną z najnowszym obrazem systemu operacyjnego, wdraża najnowszy kod dostawcy zasobów i migruje ustawienia ze starego dostawcy zasobów do nowego dostawcy zasobów.

Notatka

Zalecamy pobranie obrazu dodatku Microsoft AzureStack RP dla systemu Windows Server 1.2009.0 z witryny Marketplace Management. Jeśli musisz zainstalować aktualizację, możesz umieścić pojedynczy pakiet MSU w lokalnej ścieżce zależności. Skrypt zakończy się niepowodzeniem, jeśli w tej lokalizacji znajduje się więcej niż jeden plik MSU.

Po utworzeniu nowej maszyny wirtualnej przez skrypt UpdateMySQLProvider.ps1 skrypt migruje następujące ustawienia ze starej maszyny wirtualnej dostawcy zasobów:

  • informacje o bazie danych
  • informacje o serwerze hostingu
  • wymagany rekord DNS

Ważny

Zdecydowanie zalecamy użycie Clear-AzureRmContext -Scope CurrentUser i Clear-AzureRmContext -Scope Process w celu wyczyszczenia pamięci podręcznej przed uruchomieniem skryptu wdrożenia lub aktualizacji.

Aktualizowanie parametrów skryptu

Określ następujące parametry z wiersza polecenia po uruchomieniu skryptu programu UpdateMySQLProvider.ps1 PowerShell. Jeśli nie, lub jeśli sprawdzanie poprawności jakiegokolwiek parametru zakończy się niepowodzeniem, zostanie wyświetlony monit o podanie wymaganych parametrów.

Nazwa parametru Opis Komentarz lub wartość domyślna
CloudAdminCredential Poświadczenia administratora chmury niezbędne do uzyskania dostępu do uprzywilejowanego punktu końcowego. wymagane
AzCredential Poświadczenia konta administratora usługi Azure Stack Hub. Użyj tych samych poświadczeń, które zostały użyte do wdrożenia usługi Azure Stack Hub. Skrypt zakończy się niepowodzeniem, jeśli konto używane z modułem AzCredential wymaga uwierzytelniania wieloskładnikowego (MFA). wymagane
VMLocalCredential Poświadczenia do konta administratora lokalnego na maszynie wirtualnej dostawcy zasobów MySQL. wymagane
PrivilegedEndpoint Adres IP lub nazwa DNS uprzywilejowanego punktu końcowego. wymagane
AzureEnvironment Środowisko platformy Azure konta administratora usługi używane do wdrażania usługi Azure Stack Hub. Wymagane tylko dla wdrożeń Microsoft Entra. Obsługiwane nazwy środowisk to AzureCloud, AzureUSGovernmentlub w przypadku korzystania z identyfikatora Entra firmy Microsoft w Chinach AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Plik certyfikatu .pfx należy również umieścić w tym katalogu. opcjonalny (obowiązkowy dla konfiguracji wielowęzłowej)
DefaultSSLCertificatePassword Hasło certyfikatu pfx. wymagane
MaxRetryCount Ile razy chcesz ponowić próbę wykonania każdej operacji, jeśli wystąpi błąd. 2
CzasPonownejPróby Interwał limitu czasu między ponowną próbą w sekundach. 120
Odinstaluj Usuń dostawcę zasobów i wszystkie skojarzone zasoby (zobacz następujące uwagi). Nie
DebugMode Zapobiega automatycznemu czyszczeniu po awarii. Nie
AkceptujLicencję Pomija monit o zaakceptowanie licencji GPL. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Przykład aktualizacji skryptu

Jeśli aktualizujesz wersję dostawcy zasobów MySQL do wersji 1.1.33.0 lub wcześniejszych, musisz zainstalować określone wersje modułów AzureRm.BootStrapper i Azure Stack Hub w programie PowerShell.

Jeśli aktualizujesz dostawcę zasobów MySQL do wersji 1.1.47.0 lub nowszej, możesz pominąć ten krok. Skrypt wdrażania automatycznie pobierze i zainstaluje niezbędne moduły programu PowerShell do ścieżki C:\Program Files\SqlMySqlPsh.

Notatka

Jeśli folder C:\Program Files\SqlMySqlPsh już istnieje z pobranym modułem programu PowerShell, zaleca się wyczyszczenie tego folderu przed uruchomieniem skryptu aktualizacji. Ma to na celu upewnienie się, że pobrano i użyto odpowiedniej wersji modułu programu PowerShell.

# 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

Notatka

W scenariuszu bez połączenia należy pobrać wymagane moduły programu PowerShell i ręcznie zarejestrować repozytorium jako wymaganie wstępne. Aby uzyskać więcej informacji, zobacz Wdrażanie dostawcy zasobów MySQL

W poniższym przykładzie przedstawiono skrypt UpdateMySQLProvider.ps1, który można uruchomić z poziomu konsoli programu PowerShell z podwyższonym poziomem uprawnień. Pamiętaj, aby w razie potrzeby zmienić zmienne informacje i hasła.

# 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

Po zakończeniu działania skryptu aktualizacji dostawcy zasobów zamknij bieżącą sesję programu PowerShell.

Następne kroki

Utrzymanie dostawcy zasobów MySQL