Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 |
| 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.