Aracılığıyla paylaş


MySQL şirket içi veya Sanal Makine (VM) iş yükünü MySQL için Azure Veritabanı İçeri Aktarma CLI ile MySQL için Azure Veritabanı geçirme

dış geçişler için içeri aktarma MySQL için Azure Veritabanı MySQL şirket içi veya Sanal Makine (VM) iş yükünüzü sorunsuz bir şekilde MySQL için Azure Veritabanı - Esnek Sunucu'ya geçirmenizi sağlar. Kullanıcı tarafından sağlanan bir fiziksel yedekleme dosyası kullanır ve kaynak sunucunun fiziksel veri dosyalarını hedef sunucuya geri yükleyip basit ve hızlı bir geçiş yolu sunar. İçeri aktarma işleminden sonra, daha iyi fiyat ve performans, veritabanı yapılandırması üzerinde ayrıntılı denetim ve özel bakım pencereleri içeren esnek bir sunucunun avantajlarından yararlanabilirsiniz.

Kullanıcı girişlerine bağlı olarak, hedef esnek sunucunuzu sağlama ve ardından Azure Blob depolama hesabında depolanan kaynak sunucunun kullanıcı tarafından sağlanan fiziksel yedeklemesini hedef Esnek Sunucu örneğine geri yükleme sorumluluğu üstlenir.

Bu öğreticide, MySQL şirket içi veya Sanal Makine (VM) iş yükünüzü MySQL için Azure Veritabanı - Esnek Sunucu'ya geçirmek için MySQL için Azure Veritabanı CLI İçeri Aktar komutunun nasıl kullanılacağı gösterilmektedir.

Azure Cloud Shell'i başlatma

Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli kabukdur. Yaygın Azure araçları, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır.

Cloud Shell'i açmak için kod bloğunun sağ üst köşesinden Deneyin'i seçin. Cloud Shell'i adresine giderek https://shell.azure.com/bashayrı bir tarayıcı sekmesinde de açabilirsiniz. Kod bloklarını kopyalamak için Kopyala'yı seçin, Cloud Shell'e yapıştırın ve çalıştırmak için Enter tuşuna basın.

CLI'yi yerel olarak yükleyip kullanmayı tercih ediyorsanız, bu öğretici için Azure CLI sürüm 2.54.0 veya üzeri gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Ayarlama

az sign-in komutunu kullanarak hesabınızda oturum açmanız gerekir. Azure hesabınızın Abonelik Kimliği'ne başvuran id özelliğini not edin.

az login

az account set komutunu kullanarak hedef Esnek Sunucuyu dağıtmak istediğiniz hesabın altında belirli bir aboneliği seçin. komuttaki abonelik bağımsız değişkeninin değeri olarak kullanılacak az login çıktısındaki kimlik değerini not edin. Tüm aboneliklerinizi almak için az account list komutunu kullanın.

az account set --subscription <subscription id>

Önkoşullar

  • Kaynak sunucu aşağıdaki parametrelere sahip olmalıdır:

    • Lower_case_table_names = 1
    • Innodb_file_per_table = ON
    • Sistem tablo alanı adı ibdata1 olmalıdır.
    • Sistem tablo alanı boyutu 12 MB'tan büyük veya buna eşit olmalıdır. (MySQL Varsayılanı)
    • Innodb_page_size = 16348 (MySQL Varsayılanı)
    • Yalnızca INNODB altyapısı desteklenir.
  • Percona XtraBackup kullanarak MySQL iş yükünüzün fiziksel yedeğini alın. Tam yedekleme yapmak için Percona XtraBackup'ı kullanma adımları şunlardır:

    • Percona XtraBackup'ı şirket içi veya VM iş yüküne yükleyin. MySQL altyapısı sürüm v5.7 için Percona XtraBackup sürüm 2.4'ü yükleyin, bkz . Percona XtraBackup 2.4'ü Yükleme. MySQL altyapısı sürüm v8.0 için Percona XtraBackup sürüm 8.0'ı yükleyin, bkz . Percona XtraBackup 8.0'ı Yükleme.

    • Percona XtraBackup 2.4 ile Tam yedekleme alma yönergeleri için bkz . Tam yedekleme. Percona XtraBackup 8.0 ile Tam yedekleme alma yönergeleri için bkz. [Tam yedekleme] (https://docs.percona.com/percona-xtrabackup/8.0/create-full-backup.html). Tam yedeklemeyi alırken aşağıdaki komutları sırayla çalıştırın:

      • ** xtrabackup --backup --host={host} --user={user} --password={password} --target-dir={backup__dir_path}**
      • ** xtrabackup --prepare --{backup_dir_path}** (Burada önceki komutla aynı yedekleme yolunu sağlayın)
    • Percona XtraBackup alınırken dikkat edilmesi gerekenler:

      • Hem yedeklemeyi hem de hazırlama adımını çalıştırdığınızdan emin olun.
      • Yedekleme ve hazırlama adımında hata olmadığından emin olun.
      • Yedeklemeyi tutun ve hata durumunda gerekli olan Azure Desteği için adım günlüklerini hazırlayın.

      Önemli

      Kaynak sunucudan içeri aktarılan bozuk tablolara erişmeye çalışmak esnek bir sunucunun kilitlenmesine neden olabilir. Sonuç olarak, Percona XtraBackup yardımcı programını kullanarak bir yedekleme almadan önce, kaynak sunucuda "mysqlcheck / Tabloyu İyileştir" işleminin gerçekleştirilmesi kesinlikle önerilir.

  • Azure Blob kapsayıcısı oluşturun ve kapsayıcı için Paylaşılan Erişim İmzası (SAS) Belirtecini (Azure portalı veya Azure CLI) alın. İzinler açılan listesinde Ekle, Oluştur ve Yaz'a izin verdiğinden emin olun. Blob SAS belirtecini ve URL değerlerini kopyalayıp güvenli bir konuma yapıştırın. Bunlar yalnızca bir kez görüntülenir ve pencere kapatıldıktan sonra alınamaz.

  • {backup_dir_path} konumundaki tam yedekleme dosyasını Azure Blob depolama alanınıza yükleyin. Dosyayı karşıya yüklemek için bu adımları izleyin.

  • Çevrimiçi geçiş gerçekleştirmek için cat xtrabackup_info komutunu çalıştırıp bin_log pos çıkışını kopyalayarak Percona XtraBackup kullanılarak alınan yedekleme dosyasının bin-log konumunu yakalayın ve depolayın.

  • Azure depolama hesabına SAS belirteci kullanılarak genel erişim sağlanmalı. Sanal ağ yapılandırmasına sahip Azure depolama hesabı desteklenmez.

Sınırlamalar

  • Kaynak sunucu yapılandırması geçirilmez. Hedef Esnek sunucuyu uygun şekilde yapılandırmanız gerekir.
  • Şifrelenmiş yedeklemeler için geçiş desteklenmez.
  • kullanıcılar ve ayrıcalıklar MySQL için Azure Veritabanı İçeri Aktarma'nın bir parçası olarak geçirilmez. İçeri aktarma işleminden sonra oturum açma bilgilerini hedef Esnek Sunucu'ya geri yükleyerek geçirmek için MySQL için Azure Veritabanı İçeri Aktarma'yı başlatmadan önce kullanıcıların ve ayrıcalıkların el ile dökümünü almanız gerekir.
    • esnek sunucuda localhost kullanıcı oluşturmayı desteklemediğimizden user1@localhost geçirilemiyor.
  • Yüksek Kullanılabilirlik (HA) özellikli Esnek Sunucular, içeri aktarma işleminden sonra geçiş işleminin hızını artırmak için HA devre dışı bırakılmış sunucular olarak döndürülür. Geçiş sonrasında hedef Esnek Sunucunuz için HA'yı etkinleştirin.

En iyi geçiş deneyimi için öneriler

  • Daha iyi içeri aktarma performansı için Azure Blob depolama hesabını ve hedef Esnek Sunucuyu aynı bölgede dağıtmayı göz önünde bulundurun.
  • Hedef MySQL için Azure Veritabanı Esnek Sunucu için önerilen SKU yapılandırması –
    • MySQL için Azure Veritabanı İçeri Aktarma işlemi çalıştırılırken geçiş süresini iyileştirmek için hedef için Bir Hızla Artırılabilir SKU ayarlanması önerilmez. İçe aktarma işlemi boyunca ölçeği Genel Amaçlı/ İş Açısından Kritik olarak ölçeklendirmenizi öneririz. Bu ölçeklendirmeyi Hızla Artırılabilir SKU'ya düşürebilirsiniz.

MySQL için Azure Veritabanı -Esnek Sunucudan geçiş yapmak için MySQL için Azure Veritabanı İçeri Aktarma işlemini tetikleme

komutuyla MySQL için Azure Veritabanı İçeri Aktarma işlemini tetikleyinaz mysql flexible-server import create. Aşağıdaki komut bir hedef Esnek Sunucu oluşturur ve Azure CLI'nızın yerel bağlamını kullanarak yedekleme dosyasından hedef hedefe örnek düzeyinde içeri aktarma gerçekleştirir:

az mysql flexible-server import create --data-source-type
                                --data-source
                                --data-source-sas-token
                                --resource-group
                                --name
                                --sku-name
                                --tier
                                --version
                                --location
                                [--data-source-backup-dir]
                                [--storage-size]
                                [--mode]
                                [--admin-password]
                                [--admin-user]
                                [--auto-scale-iops {Disabled, Enabled}]
                                [--backup-identity]
                                [--backup-key]
                                [--backup-retention]
                                [--database-name]
                                [--geo-redundant-backup {Disabled, Enabled}]
                                [--high-availability {Disabled, SameZone, ZoneRedundant}]
                                [--identity]
                                [--iops]
                                [--key]
                                [--private-dns-zone]
                                [--public-access]
                                [--resource-group]
                                [--standby-zone]
                                [--storage-auto-grow {Disabled, Enabled}]
                                [--subnet]
                                [--subnet-prefixes]
                                [--tags]
                                [--vnet]
                                [--zone]

The following example takes in the data source information for your source MySQL server's backup file and target Flexible Server information, creates a target Flexible Server named `test-flexible-server` in the `westus` location and performs an import from backup file to target.

azurecli-interactive
az mysql flexible-server import create --data-source-type "azure_blob" --data-source "https://onprembackup.blob.core.windows.net/onprembackup" --data-source-backup-dir "mysql_backup_percona" –-data-source-token "{sas-token}" --resource-group "test-rg"  --name "test-flexible-server" –-sku-name Standard_D2ds_v4  --tier GeneralPurpose –-version 5.7 -–location "westus"

Yukarıdaki bağımsız değişkenlerin ayrıntıları şunlardır:

Ayar Örnek değer Açıklama
veri kaynağı türü azure_blob İçeri Aktarma MySQL için Azure Veritabanı tetikleme için kaynak hedef olarak görev alan veri kaynağı türü. Kabul edilen değerler: [azure_blob]. Kabul edilen değerlerin açıklaması- azure_blob: Azure Blob depolama.
veri kaynağı {resourceID} Azure Blob kapsayıcısının kaynak kimliği.
data-source-backup-dir mysql_percona_backup Yedekleme dosyasının karşıya yüklendiği Azure Blob depolama kapsayıcısının dizini. Bu değer yalnızca yedekleme dosyası Azure Blob kapsayıcısının kök klasöründe depolanmadığında gereklidir.
veri kaynağı-sas-belirteci {sas-token} Azure Blob depolama kapsayıcısından içeri aktarma erişimi vermek için oluşturulan Paylaşılan Erişim İmzası (SAS) belirteci.
resource-group test-rg Hedef MySQL için Azure Veritabanı Esnek Sunucu'nun Azure kaynak grubunun adı.
mod Çevrimdışı MySQL için Azure Veritabanı içeri aktarma modu. Kabul edilen değerler: [Çevrimdışı]; Varsayılan değer: Çevrimdışı.
konum westus Kaynak MySQL için Azure Veritabanı Esnek Sunucu için Azure konumu.
Adı test-flexible-server Hedef MySQL için Azure Veritabanı Esnek Sunucunuz için benzersiz bir ad girin. Sunucu adı yalnızca küçük harf, sayı ve kısa çizgi (-) karakterini içerebilir. 3 ila 63 karakter arası içermelidir. Not: Bu sunucu kaynakla aynı abonelikte, kaynak grubunda ve bölgede dağıtılır.
admin-user adminuser Hedef MySQL için Azure Veritabanı Esnek Sunucusu için yönetici oturum açma kullanıcı adı. azure_superuser, yönetici, yönetici, kök, konuk veya genel olamaz.
admin-password *parola- Hedef MySQL için Azure Veritabanı Esnek Sunucu için yönetici kullanıcının parolası. 8 ile 128 arasında karakter içermelidir. Parolanız üç kategoriden karakterler içermelidir: İngilizce büyük harfler, İngilizce küçük harfler, sayılar ve büyük harf olmayan karakterler.
sku-name GP_Gen5_2 Hedef MySQL için Azure Veritabanı Esnek Sunucunuzun fiyatlandırma katmanının ve işlem yapılandırmasını girin. Kısaca {fiyatlandırma katmanı}{işlem nesli}{sanal çekirdek sayısı} kuralına uyar. Daha fazla bilgi için bkz . fiyatlandırma katmanları.
katman Hızla artırılabilir Hedef MySQL için Azure Veritabanı Esnek Sunucu'nun işlem katmanı. Kabul edilen değerler: Burstable, GeneralPurpose, MemoryOptimized; Varsayılan değer: Serileştirilebilir.
genel erişim 0.0.0.0 Hedef MySQL için Azure Veritabanı Esnek Sunucu için genel erişimi belirler. İzin verilen IP listesine eklenecek tek ip adresi veya aralığı girin. IP adresi aralıkları kesik çizgiyle ayrılmış olmalı ve boşluk içermemelidir. 0.0.0.0 belirtilmesi, Azure'da dağıtılan tüm kaynaklardan genel erişimin sunucunuza erişmesine olanak tanır. Bunu "Yok" olarak ayarlamak, sunucuyu genel erişim modunda ayarlar ancak güvenlik duvarı kuralı oluşturmaz.
Sanal ağ myVnet Yeni veya mevcut bir sanal ağın adı veya kimliği. Farklı kaynak grubundan veya abonelikten bir sanal ağ kullanmak istiyorsanız, bir kaynak kimliği girin. Ad 2 ila 64 karakter arasında olmalıdır. Ad bir harf veya sayı ile başlamalı, harf, sayı veya alt çizgiyle bitmelidir ve yalnızca harf, sayı, alt çizgi, nokta veya kısa çizgi içerebilir.
alt ağ mySubnet Yeni veya mevcut bir alt ağın adı veya kaynak kimliği. Farklı kaynak grubundan veya abonelikten bir alt ağ kullanmak istiyorsanız, ad yerine kaynak kimliğini belirtin. Alt ağ esnek Sunuculara devredilir. Temsilci seçiminden sonra, bu alt ağ başka herhangi bir Azure kaynağı türü için kullanılamaz.
private-dns-zone myserver.private.contoso.com Yeni veya mevcut özel dns bölgesinin adı veya kimliği. Aynı kaynak grubundan, farklı kaynak grubundan veya farklı abonelikten özel dns bölgesini kullanabilirsiniz. Farklı kaynak grubundan veya abonelikten bir bölge kullanmak istiyorsanız kaynak kimliğini belirtin. CLI, kullanıcılar tarafından sağlanmazsa sanal ağ ile aynı kaynak grubu içinde yeni bir özel dns bölgesi oluşturur.
anahtar testKey'in anahtar tanımlayıcısı Veri şifrelemesi için birincil anahtar kasası anahtarının kaynak kimliği.
identity testIdentity Veri şifrelemesi için kullanıcı tarafından atanan kimliğin adı veya kaynak kimliği.
storage-size 32 Hedef MySQL için Azure Veritabanı Esnek Sunucu'nun depolama kapasitesi. En az 20 GiB, maksimum ise 16 TiB'dir.
tags key=value Azure kaynak grubunun adını girin.
sürüm 5.7 Hedef MySQL için Azure Veritabanı Esnek Sunucunun sunucu ana sürümü.
yüksek kullanılabilirlik ZoneRedundant Hedef MySQL için Azure Veritabanı Esnek Sunucu için yüksek kullanılabilirlik özelliğini (ZoneRedundant veya SameZone) etkinleştirin veya devre dışı bırakın. Kabul edilen değerler: Disabled, SameZone, ZoneRedundant; Varsayılan değer: Devre dışı.
bölge 1 Kaynağın sağlandığı kullanılabilirlik alanı.
bekleme bölgesi 3 Yüksek Kullanılabilirlik etkinleştirildiğinde hazır bekleyen sunucunun kullanılabilirlik alanı bilgileri.
depolamayı otomatik olarak büyütme Etkin Hedef MySQL için Azure Veritabanı Esnek Sunucu için depolamanın otomatik olarak büyümesini etkinleştirin veya devre dışı bırakın. Varsayılan değer Etkin'dir. Kabul edilen değerler: Devre dışı, Etkin; Varsayılan değer: Etkin.
iops 500 Hedef MySQL için Azure Veritabanı Esnek Sunucu için ayrılacak IOPS sayısı. Sağlanan işlem ve depolama alanına göre belirli miktarda ücretsiz IOPS elde edersiniz. IOPS için varsayılan değer ücretsiz IOPS'dir. İşlem ve depolamayı temel alan IOPS hakkında daha fazla bilgi edinmek için MySQL için Azure Veritabanı Esnek Sunucu'da IOPS'ye bakın.

Minimum kapalı kalma süresiyle Esnek Sunucu'ya geçiş

MySQL için Azure Veritabanı içeri aktarmayı kullanarak yedekleme dosyasından ilk tohumlama işlemini tamamladıktan sonra çevrimiçi geçiş gerçekleştirmek için buradaki adımları izleyerek kaynak ve hedef arasında veri çoğaltması yapılandırabilirsiniz. Bin-log konumu tabanlı çoğaltmayı ayarlamak için Percona XtraBackup kullanarak yedekleme dosyasını alırken yakalanan bin-log konumunu kullanabilirsiniz.

mySQL örneğimin geçirilmesi MySQL için Azure Veritabanı İçeri Aktarma işlemi ne kadar sürer?

Depolama boyutuna göre karşılaştırmalı performans.

Yedekleme dosyası Depolama Boyutu İçeri aktarma süresi
1 GiB 0 dk 23 sn
10 GiB 4 dk 24 sn
100 GiB 10 dk 29 sn
500 GiB 13 dk 15 sn
1 TB 22 dk 56 sn
10 TB 2 sa 5 dk 30 sn

Depolama boyutu arttıkça, neredeyse doğrusal bir ilişkide veri kopyalama için gereken süre de artar. Ancak, ağ dalgalanmalarının kopyalama hızını önemli ölçüde etkileyebileceğini unutmayın. Bu nedenle, burada sağlanan veriler yalnızca başvuru olarak alınmalıdır.

Sonraki adım