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
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.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.
Pobierz Microsoft AzureStack Add-On RP Windows Server 1.2009.0 do marketu.
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(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.
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
- Skrypt MajorVersionUpgrade został wykonany bez żadnych błędów.
- Sprawdź dostawcę zasobów na rynku i upewnij się, że MySQL RP 2.0 został pomyślnie zainstalowany.
- 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.