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 vanaf een eerdere versie, opent u een ondersteuningsaanvraag . Onze ondersteuningstechnici begeleiden u door het implementatie- of upgradeproces.
Belangrijk
Voordat u de resourceprovider bijwerkt, raadpleegt u 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 Azure Stack Hub-versie opgegeven die is vereist voor de resourceprovider.
Belangrijk
Als u de resourceprovider bijwerkt, wordt de MySQL-server die als host fungeert, NIET bijgewerkt.
Wanneer Azure Stack Hub een nieuwe build uitbrengt, wordt mogelijk een nieuwe Adapter van de MySQL-resourceprovider uitgebracht. Terwijl de bestaande adapter blijft werken, raden we u aan 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 AzureStack Add-on RP Windows Server 1.2009.0 |
MySQL Server-resourceprovider V2 bijwerken
Als u MySQL RP V2 al hebt geïmplementeerd en wilt controleren op updates, raadpleegt 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 upgradeproces voor de primaire versie toepassen om een upgrade uit te voeren van MySQl RP V1 naar MySQL RP V2.
Update van MySQL RP V1.1.93.x naar MySQL RP V2.0.6.0
Vereisten
Zorg ervoor dat u MySQL RP V1 bijwerkt naar de meest recente versie 1.1.93.x. Zoek onder Standaardproviderabonnement de RP-resourcegroep (naamgevingsindeling: system.
<region
>. mysqladapter). Bevestig de versietag en mySQL RP VM-naam in de resourcegroep. Als u nog steeds een oude versie gebruikt en moet bijwerken naar 1.1.93.x, opent u een ondersteuningsaanvraag voor hulp.Open een ondersteuningsaanvraag om het MajorVersionUpgrade-pakket op te halen en voeg uw abonnement toe aan de acceptatielijst van ASH Marketplace voor de toekomstige V2-versie.
Download Microsoft AzureStack Add-On RP Windows Server 1.2009.0 naar Marketplace.
Zorg ervoor dat uw Azure Stack Hub voldoet aan de vereisten voor datacentrumintegratie.
Vereiste Referentie Doorsturen via voorwaardelijke DNS is juist ingesteld. Integratie van Azure Stack Hub-datacenter - DNS Binnenkomende poorten voor resourceproviders zijn geopend. Integratie van Azure Stack Hub-datacenter - Poorten en protocollen binnenkomend PKI-certificaatonderwerp en SAN zijn correct ingesteld. Verplichte PKI-vereisten voor Azure Stack Hub-implementatie
Vereisten voor PaaS-certificaat voor Azure Stack Hub-implementatie(voor niet-verbonden omgeving) Installeer de vereiste PowerShell-modules, vergelijkbaar met het updateproces dat wordt gebruikt voor het implementeren van de MySQL-resourceprovider.
Bereid de MySQL Connector-URI voor met de vereiste versie. Raadpleeg De MySQL-resourceprovider implementeren voor meer informatie. bijvoorbeeld https://< storageAcountName.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 grote versie-upgrade uit te voeren.
Notitie
Zorg ervoor dat de clientcomputer waarop u het script uitvoert de versie van het besturingssysteem niet ouder is dan Windows 10 of Windows Server 2016, en dat de clientcomputer een X64-besturingssysteemarchitectuur heeft.
Belangrijk
U wordt ten zeerste aangeraden 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 zoeken. U kunt ook nslookup mysqlrp.dbadapter uitvoeren.<fqdn>' van een clientcomputer die de eindpunttest al heeft doorstaan om het openbare IP-adres te achterhalen.
Controleren of de upgrade is geslaagd
- Het script MajorVersionUpgrade wordt zonder fouten uitgevoerd.
- Controleer de resourceprovider in Marketplace en controleer of MySQL RP 2.0 is geïnstalleerd.
- Het oude systeem.<resourcegroep en systeem location.mysqladapter>.<de resourcegroep location.dbadapter.dns> in het standaardproviderabonnement wordt niet automatisch verwijderd door het script.
- U wordt aangeraden het opslagaccount en de Key Vault enige tijd in de resourcegroep mysqladapter te bewaren. Als na de upgrade een tenantgebruiker inconsistente database- of aanmeldingsmetagegevens ziet, is het mogelijk om ondersteuning te krijgen voor het herstellen van de metagegevens van de resourcegroep.
- Nadat u hebt gecontroleerd of de DNS-zone in de resourcegroep dbadapter.dns leeg is zonder DNS-record, kunt u de resourcegroep dbadapter.dns veilig verwijderen.
- [BELANGRIJK] Gebruik het V1-implementatiescript niet om de V1-versie te verwijderen. Nadat de upgrade is voltooid en de bevestiging dat de upgrade is voltooid, kunt u de resourcegroep handmatig verwijderen uit het providerabonnement.
Eerdere versie van MySQL RP V1 bijwerken naar MySQL RP V1.1.93.x
De update voor MySQL-resourceprovider V1 is cumulatief. U kunt rechtstreeks bijwerken naar versie 1.1.93.x.
Gebruik het scriptUpdateMySQLProvider.ps1 om de resourceprovider bij te werken naar 1.1.93.x. Gebruik uw serviceaccount met lokale beheerdersrechten en is eigenaar van het abonnement. Dit updatescript is inbegrepen bij het downloaden van de resourceprovider.
Als u de resourceprovider wilt bijwerken, gebruikt u het scriptUpdateMySQLProvider.ps1 . Gebruik uw serviceaccount met lokale beheerdersrechten en is eigenaar van het abonnement. Het updatescript is opgenomen in de download van de resourceprovider.
Het updateproces is vergelijkbaar met het proces dat wordt gebruikt om de resourceprovider te implementeren. Het updatescript gebruikt dezelfde argumenten als het DeployMySqlProvider.ps1 script en u moet certificaatgegevens opgeven.
Scriptprocessen bijwerken
Met hetUpdateMySQLProvider.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
U wordt aangeraden de RP Windows Server 1.2009.0-installatiekopieën van Marketplace-beheer te downloaden. Als u een update moet installeren, kunt u één 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 VM heeft gemaakt, migreert het script de volgende instellingen van de oude resourceprovider-VM:
- databasegegevens
- hostingservergegevens
- vereiste DNS-record
Belangrijk
U wordt ten zeerste aangeraden 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 een parametervalidatie mislukt, wordt u gevraagd om de vereiste parameters op te geven.
Parameternaam | Description | Opmerking of standaardwaarde |
---|---|---|
CloudAdminCredential | De referentie voor de cloudbeheerder, die nodig is voor toegang tot het bevoegde eindpunt. | Vereist |
AzCredential | De referenties voor het beheerdersaccount van de Azure Stack Hub-service. Gebruik dezelfde referenties die u hebt gebruikt voor het implementeren van Azure Stack Hub. Het script mislukt als het account dat u gebruikt met AzCredential meervoudige verificatie (MFA) vereist. | Vereist |
VMLocalCredential | De referenties voor het lokale beheerdersaccount van de VM van de MySQL-resourceprovider. | 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, AzureUSGovernment of, als u een China-Microsoft Entra ID gebruikt, AzureChinaCloud. | AzureCloud |
DependencyFilesLocalPath | Het PFX-bestand van het certificaat moet ook in deze map worden geplaatst. | Optioneel (verplicht voor meerdere knooppunten) |
DefaultSSLCertificatePassword | Het wachtwoord voor het PFX-certificaat. | Vereist |
MaxRetryCount | Het aantal keren dat u elke bewerking opnieuw wilt proberen 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). | No |
DebugMode | Hiermee voorkomt u dat automatisch opschonen mislukt. | No |
AcceptLicense | 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 versie van de MySQL-resourceprovider bijwerkt naar 1.1.33.0 of eerdere versies, moet u specifieke versies van AzureRm.BootStrapper- en Azure Stack Hub-modules in PowerShell installeren.
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 het pad C:\Program Files\SqlMySqlPsh.
Notitie
Als de map C:\Program Files\SqlMySqlPsh al bestaat en de PowerShell-module 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 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.