Azure Stack Hub'da MySQL kaynak sağlayıcısını güncelleştirme

Önemli

Azure Stack Hub derlemesi 2108'den başlayarak SQL ve MySQL kaynak sağlayıcıları, erişim izni verilen aboneliklere sunulur. Bu özelliği kullanmaya başlamak istiyorsanız veya önceki bir sürümden yükseltmeniz gerekiyorsa bir destek olayı açın ; destek mühendislerimiz dağıtım veya yükseltme işleminde size yol gösterir.

Önemli

Kaynak sağlayıcısını güncelleştirmeden önce, yeni işlevler, düzeltmeler ve dağıtımınızı etkileyebilecek bilinen sorunlar hakkında bilgi edinmek için sürüm notlarını gözden geçirin. Sürüm notları ayrıca kaynak sağlayıcısı için gereken en düşük Azure Stack Hub sürümünü de belirtir.

Önemli

Kaynak sağlayıcısının güncelleştirilmesi MySQL Sunucusunu barındırmayı GÜNCELLEŞTIRMEZ.

Azure Stack Hub yeni bir derleme yayımladığında yeni bir MySQL kaynak sağlayıcısı bağdaştırıcısı yayınlarız. Mevcut bağdaştırıcı çalışmaya devam ederken, en kısa sürede en son derlemeye güncelleştirmenizi öneririz.

Desteklenen Azure Stack Hub sürümü MySQL RP sürümü RP hizmetinin üzerinde çalıştığı Windows Server
2206, 2301, 2306, 2311 MySQL RP sürüm 2.0.13.x Microsoft AzureStack Eklentisi RP Windows Server 1.2009.0
2108, 2206 MySQL RP sürüm 2.0.6.x Microsoft AzureStack Eklentisi RP Windows Server 1.2009.0

MySQL Server kaynak sağlayıcısı V2'sini güncelleştirme

MySQL RP V2'yi zaten dağıttıysanız ve güncelleştirmeleri denetlemek istiyorsanız, Güncelleştirmeleri kaynak sağlayıcısına uygulama'yı denetleyin.

MySQL RP V1'den MySQL RP V2'ye güncelleştirmek istiyorsanız, önce MySQL RP V1.1.93.x sürümüne güncelleştirdiğinizden emin olun, ardından MySQl RP V1'den MySQL RP V2'ye yükseltmek için ana sürüm yükseltme işlemini uygulayın.

MySQL RP V1.1.93.x'ten MySQL RP V2.0.6.0'a güncelleştirme

Önkoşullar

  1. MySQL RP V1'i en son 1.1.93.x sürümüne güncelleştirdiğinizden emin olun. Varsayılan Sağlayıcı Aboneliği'nin altında RP kaynak grubunu bulun (adlandırma biçimi: sistem..<region>. mysqladapter). Kaynak grubundaki sürüm etiketini ve MySQL RP VM adını onaylayın. Hala eski bir sürüm kullanıyorsanız ve 1.1.93.x sürümüne güncelleştirmeniz gerekiyorsa, yardım için bir destek olayı açın.

  2. MajorVersionUpgrade paketini almak için bir destek olayı açın ve aboneliğinizi gelecekteki V2 sürümü için ASH market izin listesine ekleyin.

  3. Microsoft AzureStack Add-On RP Windows Server 1.2009.0'ı markete indirin.

  4. Azure Stack Hub'ınızın veri merkezi tümleştirme önkoşullarını karşıladığından emin olun.

    Önkoşul Başvuru
    Koşullu DNS iletme doğru ayarlanmış. Azure Stack Hub veri merkezi tümleştirmesi - DNS
    Kaynak sağlayıcıları için gelen bağlantı noktaları açık. Azure Stack Hub veri merkezi tümleştirmesi - Gelen bağlantı noktaları ve protokoller
    PKI sertifika konusu ve SAN doğru ayarlanmış. Azure Stack Hub dağıtımı zorunlu PKI önkoşulları
    Azure Stack Hub dağıtımı PaaS sertifikası önkoşulları
  5. (bağlantısı kesilmiş ortam için) MySQL kaynak sağlayıcısını dağıtmak için kullanılan güncelleştirme işlemine benzer şekilde gerekli PowerShell modüllerini yükleyin.

  6. MySQL Bağlayıcısı Uri'sini gerekli sürümle hazırlayın. Ayrıntılar için bkz. MySQL kaynak sağlayıcısını dağıtma. örneğin https://< storageAcountName.blob>.<bölge.><FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

MajorVersionUpgrade Tetikleyicisi

Ana sürüm yükseltmesi gerçekleştirmek için yükseltilmiş bir PowerShell konsolundan aşağıdaki betiği çalıştırın.

Not

Betiği çalıştırdığınız istemci makinesinin Windows 10 veya Windows Server 2016'den eski olmayan bir işletim sistemi sürümünde olduğundan ve istemci makinesinin X64 İşletim Sistemi Mimarisine sahip olduğundan emin olun.

Önemli

Dağıtım veya güncelleştirme betiğini çalıştırmadan önce önbelleği temizlemek için Clear-AzureRmContext -Scope CurrentUser ve Clear-AzureRmContext -Scope Process kullanmanızı kesinlikle öneririz.

# 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

Not

MySQL RP V2'nin DNS adresi ve buna karşılık gelen IP adresi farklıdır. Yeni genel IP'yi almak için desteğe başvurarak DRP kesme camını zorunlu kılabilir ve MySQLRPVM1130-PublicIP kaynağını bulabilirsiniz. "nslookup mysqlrp.dbadapter komutunu da çalıştırabilirsiniz.<fqdn>", genel IP'yi bulmak için uç nokta testini zaten geçmiş bir istemci makinesinden.

Yükseltmenin başarılı olduğunu doğrulama

  1. MajorVersionUpgrade betiği herhangi bir hata olmadan yürütüldü.
  2. Marketteki kaynak sağlayıcısını denetleyin ve MySQL RP 2.0'ın başarıyla yüklendiğinden emin olun.
  3. Eski sistem.<location.mysqladapter> kaynak grubu ve sistemi.<varsayılan sağlayıcı aboneliğindeki location.dbadapter.dns> kaynak grubu betik tarafından otomatik olarak silinmez.
  • Depolama Hesabını ve Key Vault bir süre mysqladapter kaynak grubunda tutmanızı öneririz. Yükseltmeden sonra herhangi bir kiracı kullanıcısı tutarsız veritabanı veya oturum açma meta verileri gözlemlerse, meta verileri kaynak grubundan geri yüklemek için destek almak mümkündür.
  • dbadapter.dns kaynak grubundaki DNS Bölgesinin DNS kaydı olmadan boş olduğunu doğruladıktan sonra dbadapter.dns kaynak grubunu silmek güvenlidir.
  • [ÖNEMLİ] V1 sürümünü kaldırmak için V1 dağıtım betiğini kullanmayın. Yükseltme tamamlandıktan ve yükseltmenin başarılı olduğunu onayladıktan sonra kaynak grubunu sağlayıcı aboneliğinden el ile silebilirsiniz.

MySQL RP V1'in önceki sürümünden MySQL RP V1.1.93.x sürümüne güncelleştirme

MySQL kaynak sağlayıcısı V1 güncelleştirmesi topludur. Doğrudan 1.1.93.x sürümüne güncelleştirebilirsiniz.

Kaynak sağlayıcısını 1.1.93.x'e güncelleştirmek için UpdateMySQLProvider.ps1 betiğini kullanın. Hizmet hesabınızı yerel yönetim haklarıyla kullanın ve aboneliğin sahibidir . Bu güncelleştirme betiği, kaynak sağlayıcısının indirilmesine dahildir.

Kaynak sağlayıcısını güncelleştirmek için UpdateMySQLProvider.ps1 betiğini kullanırsınız. Hizmet hesabınızı yerel yönetim haklarıyla kullanın ve aboneliğin sahibidir . Güncelleştirme betiği, kaynak sağlayıcısının indirilmesine dahil edilir.

Güncelleştirme işlemi, kaynak sağlayıcısını dağıtmak için kullanılan işleme benzer. Güncelleştirme betiği, DeployMySqlProvider.ps1 betiğiyle aynı bağımsız değişkenleri kullanır ve sertifika bilgilerini sağlamanız gerekir.

Betik işlemlerini güncelleştirme

UpdateMySQLProvider.ps1 betiği en son işletim sistemi görüntüsüyle yeni bir sanal makine (VM) oluşturur, en son kaynak sağlayıcısı kodunu dağıtır ve ayarları eski kaynak sağlayıcısından yeni kaynak sağlayıcısına geçirir.

Not

Market Yönetimi'nden Microsoft AzureStack Eklentisi RP Windows Server 1.2009.0 görüntüsünü indirmenizi öneririz. Bir güncelleştirme yüklemeniz gerekiyorsa, yerel bağımlılık yoluna tek bir MSU paketi yerleştirebilirsiniz. Bu konumda birden fazla MSU dosyası varsa betik başarısız olur.

UpdateMySQLProvider.ps1 betiği yeni bir VM oluşturduğunda, betik eski kaynak sağlayıcısı VM'sinden aşağıdaki ayarları geçirir:

  • veritabanı bilgileri
  • sunucu bilgilerini barındırma
  • gerekli DNS kaydı

Önemli

Dağıtım veya güncelleştirme betiğini çalıştırmadan önce önbelleği temizlemek için Clear-AzureRmContext -Scope CurrentUser ve Clear-AzureRmContext -Scope Process kullanmanızı kesinlikle öneririz.

Betik parametrelerini güncelleştirme

UpdateMySQLProvider.ps1 PowerShell betiğini çalıştırdığınızda komut satırından aşağıdaki parametreleri belirtin. Aksi takdirde veya herhangi bir parametre doğrulaması başarısız olursa, gerekli parametreleri sağlamanız istenir.

Parametre Adı Description Açıklama veya varsayılan değer
CloudAdminCredential Ayrıcalıklı uç noktaya erişmek için gerekli olan bulut yöneticisinin kimlik bilgileri. Gerekli
AzCredential Azure Stack Hub hizmet yöneticisi hesabının kimlik bilgileri. Azure Stack Hub'ı dağıtmak için kullandığınız kimlik bilgilerini kullanın. AzCredential ile kullandığınız hesap çok faktörlü kimlik doğrulaması (MFA) gerektiriyorsa betik başarısız olur. Gerekli
VMLocalCredential MySQL kaynak sağlayıcısı VM'sinin yerel yönetici hesabının kimlik bilgileri. Gerekli
PrivilegedEndpoint Ayrıcalıklı uç noktanın IP adresi veya DNS adı. Gerekli
AzureEnvironment Azure Stack Hub'ı dağıtmak için kullanılan hizmet yöneticisi hesabının Azure ortamı. Yalnızca Microsoft Entra dağıtımları için gereklidir. Desteklenen ortam adları AzureCloud, AzureUSGovernment veya Çin Microsoft Entra ID kullanıyorsanız AzureChinaCloud'dur. AzureCloud
DependencyFilesLocalPath Sertifika .pfx dosyanız da bu dizine yerleştirilmelidir. İsteğe bağlı (çok düğümlü için zorunlu )
DefaultSSLCertificatePassword .pfx sertifikasının parolası. Gerekli
MaxRetryCount Bir hata olduğunda her işlemi yeniden deneme sayısı. 2
RetryDuration Yeniden denemeler arasındaki zaman aşımı aralığı (saniye cinsinden). 120
Kaldır Kaynak sağlayıcısını ve ilişkili tüm kaynakları kaldırın (aşağıdaki notlara bakın). No
DebugMode Hata durumunda otomatik temizlemeyi önler. No
AcceptLicense GPL lisansını kabul etme istemini atlar. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Betik örneğini güncelleştirme

MySQL kaynak sağlayıcısı sürümünü 1.1.33.0 veya önceki sürümlere güncelleştiriyorsanız, PowerShell'de AzureRm.BootStrapper ve Azure Stack Hub modüllerinin belirli sürümlerini yüklemeniz gerekir.

MySQL kaynak sağlayıcısını 1.1.47.0 veya sonraki bir sürüme güncelleştiriyorsanız, bu adımı atlayabilirsiniz. Dağıtım betiği, C:\Program Files\SqlMySqlPsh yolunu izlemeniz için gerekli PowerShell modüllerini otomatik olarak indirir ve yükler.

Not

C:\Program Files\SqlMySqlPsh klasörü PowerShell modülü indirilmiş olarak zaten varsa, güncelleştirme betiğini çalıştırmadan önce bu klasörü temizlemeniz önerilir. Bu, PowerShell modülünün doğru sürümünün indirildiğinden ve kullanıldığından emin olmaktır.

# 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

Not

Bağlantısız senaryoda, gerekli PowerShell modüllerini indirmeniz ve depoyu el ile önkoşul olarak kaydetmeniz gerekir. MySQL kaynak sağlayıcısını dağıtma bölümünde daha fazla bilgi edinebilirsiniz

Aşağıdaki örnekte, yükseltilmiş bir PowerShell konsolundan çalıştırabileceğiniz UpdateMySQLProvider.ps1 betiği gösterilmektedir. Değişken bilgilerini ve parolalarını gerektiği gibi değiştirdiğinizden emin olun:

# 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

Kaynak sağlayıcısı güncelleştirme betiği tamamlandığında, geçerli PowerShell oturumunu kapatın.

Sonraki adımlar

MySQL kaynak sağlayıcısını koruma