Memperbarui penyedia sumber MySQL di Azure Stack Hub

Penting

Mulai dari Azure Stack Hub build 2108, penyedia sumber SQL dan MySQL ditawarkan untuk menjadi langganan yang telah diberikan akses. Jika Anda ingin mulai menggunakan fitur ini, atau jika Anda perlu meningkatkan dari versi sebelumnya, buka kasus dukungan dan teknisi dukungan kami akan memandu Anda melalui proses penyebaran atau peningkatan.

Penting

Sebelum memperbarui penyedia sumber, tinjau catatan rilis untuk mempelajari tentang fungsionalitas baru, perbaikan, dan masalah umum yang dapat memengaruhi penyebaran Anda. Catatan rilis juga menentukan versi Azure Stack Hub minimum yang diperlukan untuk penyedia sumber.

Penting

Memperbarui penyedia sumber TIDAK akan memperbarui Server MySQL hosting.

Saat Azure Stack Hub merilis build baru, kami dapat merilis adaptor penyedia sumber daya MySQL baru. Sementara adapter yang ada terus bekerja, kami sarankan untuk memperbarui ke build terbaru sesegera mungkin.

Versi Azure Stack Hub yang didukung Versi MySQL RP Windows Server yang dijalankan layanan RP
2206, 2301, 2306, 2311 MySQL RP versi 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2206 MySQL RP versi 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0

Memperbarui penyedia sumber MySQL Server V2

Jika Anda sudah menyebarkan MySQL RP V2, dan ingin memeriksa pembaruan, periksa Cara menerapkan pembaruan ke penyedia sumber daya.

Jika Anda ingin memperbarui dari MySQL RP V1 ke MySQL RP V2, pastikan Anda terlebih dahulu memperbarui ke MySQL RP V1.1.93.x, lalu terapkan proses peningkatan versi utama untuk meningkatkan dari MySQl RP V1 ke MySQL RP V2.

Pembaruan dari MySQL RP V1.1.93.x ke MySQL RP V2.0.6.0

Prasyarat

  1. Pastikan Anda memperbarui MySQL RP V1 ke 1.1.93.x terbaru. Di bawah Langganan Penyedia Default, temukan grup sumber daya RP (format penamaan: system.<region>. mysqladapter). Konfirmasikan tag versi dan nama MySQL RP VM dalam grup sumber daya. Jika Anda masih menggunakan versi lama dan perlu memperbarui ke 1.1.93.x, buka kasus dukungan untuk mendapatkan bantuan.

  2. Buka kasus dukungan untuk mendapatkan paket MajorVersionUpgrade, dan tambahkan langganan Anda ke daftar izin marketplace ASH untuk versi V2 mendatang.

  3. Unduh Microsoft AzureStack Add-On RP Windows Server 1.2009.0 ke marketplace.

  4. Pastikan Azure Stack Hub Anda memenuhi prasyarat integrasi pusat data.

    Prasyarat Referensi
    Penerusan DNS bersyarat diatur dengan benar. Integrasi pusat data Azure Stack Hub - DNS
    Port masuk untuk penyedia sumber terbuka. Integrasi pusat data Azure Stack Hub - Port dan protokol masuk
    Subjek sertifikat PKI dan SAN diatur dengan benar. Prasyarat wajib PKI penyebaran Azure Stack Hub
    Prasyarat sertifikat PaaS penyebaran Azure Stack Hub
  5. (untuk lingkungan yang terputus) Instal modul PowerShell yang diperlukan, mirip dengan proses pembaruan yang digunakan untuk Menyebarkan penyedia sumber MySQL.

  6. Siapkan Uri Konektor MySQL dengan versi yang diperlukan. Untuk mengetahui detailnya, lihat Menyebarkan penyedia sumber MySQL. misalnya https://< storageAcountName.blob>.< wilayah>.< FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Memicu MajorVersionUpgrade

Jalankan skrip berikut dari konsol PowerShell yang ditinggikan untuk melakukan peningkatan versi utama.

Catatan

Pastikan mesin klien tempat Anda menjalankan skrip menggunakan versi OS yang lebih baru dari Windows 10 atau Windows Server 2016, serta mesin klien yang memiliki Arsitektur Sistem Operasi X64.

Penting

Kami sangat menyarankan menggunakan Clear-AzureRmContext -Scope CurrentUser dan Clear-AzureRmContext -Scope Process untuk menghapus cache sebelum menjalankan skrip penyebaran atau pembaruan.

# 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

Catatan

Alamat DNS serta alamat IP dari MySQL RP V2 berbeda. Untuk mendapatkan IP publik baru, Anda dapat menghubungi dukungan untuk mewajibkan akses darurat DRP dan menemukan sumber daya MySQLRPVM1130-PublicIP. Anda juga dapat menjalankan "nslookup sqlrp.dbadapter.< fqdn>" dari mesin klien yang sudah lulus uji titik akhir untuk mengetahui IP publik.

Menvalidasi keberhasilan peningkatan

  1. Skrip MajorVersionUpgrade dijalankan tanpa kesalahan.
  2. Periksa penyedia sumber di marketplace dan pastikan MySQL RP 2.0 telah berhasil diinstal.
  3. Grup sumber daya system.location>.sqladapter yang lama dan grup sumber daya > dalam langganan penyedia default tidak akan dihapus secara otomatis oleh skrip.
  • Sebaiknya simpan Akun Penyimpanan dan Key Vault di grup sumber daya mysqladapter untuk beberapa waktu. Jika setelah peningkatan, setiap pengguna penyewa mengamati database yang tidak konsisten atau metadata login, tersedia dukungan untuk mengembalikan metadata dari grup sumber daya.
  • Setelah memverifikasi bahwa Zona DNS di grup sumber daya dbadapter.dns kosong tanpa data DNS, grup sumber daya dbadapter.dns dapat dihapus dengan aman.
  • [PENTING] Jangan gunakan skrip penyebaran V1 untuk menghapus instalan versi V1. Setelah peningkatan selesai dan konfirmasi bahwa peningkatan berhasil, Anda dapat menghapus grup sumber daya secara manual dari langganan penyedia.

Pembaruan dari MySQL RP V1 versi sebelumnya ke MySQL RP V1.1.93.x

Pembaruan V1 penyedia sumber MySQL bersifat kumulatif. Anda dapat langsung memperbarui ke versi 1.1.93.x.

Untuk memperbarui penyedia sumber menjadi 1.1.93.x, gunakan skrip UpdateMySQLProvider.ps1. Gunakan akun layanan Anda dengan hak administratif lokal dan merupakan pemilik langganan. Skrip pembaruan ini disertakan dengan unduhan penyedia sumber.

Untuk memperbarui penyedia sumber, gunakan skrip UpdateSQLProvider.ps1. Gunakan akun layanan Anda dengan hak administratif lokal dan merupakan pemilik langganan. Skrip pembaruan disertakan dengan unduhan penyedia sumber.

Proses pembaruan mirip dengan proses yang digunakan untuk Menyebarkan penyedia sumber. Skrip pembaruan menggunakan argumen yang sama dengan skrip DeployMySqlProvider.ps1, dan Anda harus memberikan informasi sertifikat.

Memperbarui proses skrip

Skrip UpdateSQLProvider.ps1 membuat mesin virtual (VM) baru dengan citra OS terbaru, menyebarkan kode penyedia sumber terbaru, dan memigrasikan pengaturan dari penyedia sumber lama ke penyedia sumber baru.

Catatan

Sebaiknya unduh citra Microsoft AzureStack Add-on RP Windows Server 1.2009.0 dari Marketplace Management. Jika Anda perlu menginstal pembaruan, Anda dapat menempatkan satu paket MSU di jalur dependensi lokal. Skrip akan gagal jika ada lebih dari satu file MSU di lokasi ini.

Setelah skrip UpdateSQLProvider.ps1 membuat VM baru, skrip memigrasikan pengaturan berikut dari VM penyedia sumber lama:

  • informasi database
  • informasi server hosting
  • data DNS yang diperlukan

Penting

Kami sangat menyarankan penggunaan Clear-AzureRmContext -Scope CurrentUser dan Clear-AzureRmContext -Scope Process untuk menghapus cache sebelum menjalankan skrip penyebaran atau pembaruan.

Memperbarui parameter skrip

Tentukan parameter berikut dari baris perintah saat menjalankan skrip PowerShell UpdateSQLProvider.ps1. Jika tidak, atau jika validasi parameter gagal, Anda diminta untuk memberikan parameter yang diperlukan.

Nama Parameter Deskripsi Komentar atau nilai default
CloudAdminCredential Mandat untuk admin cloud, yang diperlukan untuk mengakses titik akhir istimewa. Diperlukan
AzCredential Mandat untuk akun admin layanan Azure Stack Hub. Gunakan mandat yang sama dengan yang Anda gunakan untuk menyebarkan Azure Stack Hub. Skrip akan gagal jika akun yang Anda gunakan dengan AzCredential memerlukan autentikasi multifaktor (MFA). Diperlukan
VMLocalCredential Info masuk untuk akun admin lokal dari VM penyedia sumber SQL. Diperlukan
PrivilegedEndpoint Alamat IP atau nama DNS dari titik akhir hak istimewa. Diperlukan
AzureEnvironment Lingkungan Azure dari akun administrator layanan yang digunakan untuk menyebarkan Azure Stack Hub. Diperlukan hanya untuk penyebaran Microsoft Entra. Nama lingkungan yang didukung adalah AzureCloud, AzureUSGovernment, atau jika menggunakan Microsoft Entra ID Tiongkok, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath File .pfx sertifikat Anda harus ditempatkan di direktori ini juga. Opsional(wajib untuk multi-node)
DefaultsslCertificatePassword Kata sandi untuk sertifikat .pfx. Diperlukan
MaxRetryCount Berapa kali Anda ingin mencoba kembali setiap operasi jika ada kegagalan. 2
RetryDuration Interval batas waktu antara uji coba ulang, dalam hitungan detik. 120
Hapus instalasi Hapus penyedia sumber dan semua sumber daya terkait (lihat catatan berikut). Tidak
DebugMode Mencegah pembersihan otomatis pada kegagalan. Tidak
AcceptLicense Lewati perintah untuk menerima lisensi GPL. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Contoh skrip pembaruan

Jika Anda memperbarui versi penyedia sumber MySQL ke 1.1.33.0 atau versi sebelumnya, Anda perlu menginstal versi spesifik modul AzureRm.BootStrapper dan Azure Stack Hub di PowerShell.

Jika Anda memperbarui penyedia sumber MySQL ke versi 1.1.47.0 atau yang lebih baru, Anda dapat melewati langkah ini. Skrip penyebaran akan secara otomatis mengunduh dan menginstal modul PowerShell yang diperlukan bagi Anda untuk jalur C:\Program Files\SqlMySqlPsh.

Catatan

Jika folder C:\Program Files\SqlMySqlPsh sudah ada dan modul PowerShell sudah diunduh, sebaiknya bersihkan folder ini sebelum menjalankan skrip pembaruan. Ini untuk memastikan versi modul PowerShell yang tepat diunduh dan digunakan.

# 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

Catatan

Dalam skenario terputus, Anda perlu mengunduh modul PowerShell yang diperlukan dan mendaftarkan repositori secara manual sebagai prasyarat. Anda bisa mendapatkan informasi selengkapnya di Menyebarkan penyedia sumber SQL

Contoh berikut menunjukkan skrip UpdateSQLProvider.ps1 yang dapat Anda jalankan dari konsol PowerShell yang ditinggikan. Pastikan untuk mengubah informasi variabel dan kata sandi sesuai kebutuhan:

# 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

Saat skrip pembaruan penyedia sumber selesai, tutup sesi PowerShell saat ini.

Langkah berikutnya

Mempertahankan penyedia sumber MySQL