MySQL'i şirket içi veya Sanal Makine (VM) olarak Azure Database for MySQL'e MySQL İçin Azure Veritabanına İçeri Aktarma CLI'si ile geçirin.

Uyarı

Bilinen sorunlar nedeniyle az mysql flexible-server import create CLI komutu geçici olarak devre dışı bırakılır. Geçişleri planlayan müşterilerin, düzeltme işlemleri devam ederken içeri aktarma için yedekleme izin listesi konusunda yardım almak amacıyla destek ekibine başvurması gerekir.

Dış geçişler için MySQL'e Azure Veritabanı İçeri Aktarma, şirket içi veya Sanal Makine (VM) MySQL 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 ya da Sanal Makine (VM) iş yükünüzü MySQL için Azure Veritabanı - Esnek Sunucu'ya geçiş yapmak için MySQL için Azure Veritabanı İçe Aktarma CLI 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ı önceden yüklenmiş ve hesabınızla kullanıma hazır hale getirilmiştir.

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. id özelliğini, Azure hesabınızın Abonelik Kimliği'ne atıfta bulunduğunu 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 olan 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ı v5.7 için Percona XtraBackup sürüm 2.4'ü yükleyin, bkz Percona XtraBackup 2.4'ü Yükleme. MySQL motoru 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 çökmesine 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 izinlerini verdiğinizden 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. Azure Veritabanı İçeri Aktarma'yı başlatmadan önce, kullanıcıların ve ayrıcalıkların manuel yedeğini almalı ve ardından içeri aktarma işleminden sonra oturum açma bilgilerini hedef Esnek Sunucu'ya geri yükleyerek aktarmalısınız.
    • Esnek Sunucu'da localhost kullanıcı oluşturmayı desteklemediğimiz için user1@localhost taşınamıyor.
  • 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.
  • Azure Database for MySQL Esnek Sunucu hedefi 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 optimize etmek amacıyla hedefte Ani Yük Artışlı SKU ayarlanması önerilmez. İçe aktarma işlemi boyunca ölçeği Genel Amaçlı/Memory-Optimized hale getirmenizi öneririz. Bu işlemden sonra ölçeği Patlatılabilir SKU'ya küçültebilirsiniz.

Esnek Sunucudan MySQL için Azure Veritabanı'na geçiş yapmak üzere bir MySQL için Azure Veritabanı İçeri Aktarma işlemi tetikleyin.

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]

Aşağıdaki örnek, kaynak MySQL sunucunuzun yedekleme dosyası ve hedef Esnek Sunucu bilgileri için veri kaynağı bilgilerini alır, test-flexible-server konumunda westus adlı bir hedef Esnek Sunucu oluşturur ve yedekleme dosyasından hedefe veri aktarımı gerçekleştirir.

az 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 argümanların ayrıntıları şöyledir:

Ayarlar Örnek değer Açıklama
veri kaynağı türü azure_blob Azure MySQL Veritabanı İçe Aktarma işlemini tetiklemek için kullanılan 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.
veri-kaynağı-yedekleme-dizini mysql_percona_backup Azure Blob depolama kapsayıcısına yedek dosyasının yüklendiği dizin. 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.
kaynak grubu test-rg Hedef MySQL için Azure Veritabanı Esnek Sunucu'nun Azure kaynak grubunun adı.
modu Çevrimdışı MySQL için Azure Veritabanı'nın içe 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.
yönetici kullanıcı yönetici kullanıcı Hedef MySQL için Azure Veritabanı Esnek Sunucusu için yönetici oturum açma kullanıcı adı. azure_superuser, admin, yönetici, root, konuk veya public olamaz.
yönetici şifresi *parola- Azure Veritabanı için MySQL Esnek Sunucu'da hedef 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ı adını ve hesaplama 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ı.
seviye Hızla artırılabilir Hedef Azure Database for MySQL Esnek Sunucu'nun hesaplama katmanını belirleyin. Kabul edilen değerler: Burstable, GeneralPurpose, MemoryOptimized; Varsayılan değer: Burstable.
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. Yetkilendirmeden sonra, bu alt ağ başka tür Azure kaynakları için kullanılamaz.
özel DNS bölgesi 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 Key Vault anahtarının kaynak kimliği.
kimlik testIdentity Veri şifrelemesi için kullanıcı tarafından atanan kimliğin adı veya kaynak kimliği.
depolama boyutu 32 Hedef MySQL için Azure Veritabanı Esnek Sunucu'nun depolama kapasitesi. En az 20 GiB, maksimum ise 16 TiB'dir.
etiketler key=value Azure kaynak grubunun adını girin.
sürüm 5.7 Hedef Azure Veritabanı için MySQL Esnek Sunucunun 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 Etkinleştirildi 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 Sunucusu'na 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ğaltma kurulumunu ayarlamak için Percona XtraBackup ile 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 Terabayt (TB) 22 dk 56 sn
10 TB (terabayt) 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