Share via


MySQL için Azure Veritabanı Geçirme - cli'yi MySQL için Azure Veritabanı kullanarak Tek Sunucuyu Esnek Sunucuya Geçirme

ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Tek Sunucu

MySQL için Azure Veritabanı İçeri Aktarma CLI'sı (Genel Kullanıma Sunuldu) MySQL için Azure Veritabanı sorunsuz bir şekilde geçirmenizi sağlar: Tek Sunuculu'nuzu Esnek Sunucu'ya geçirmeniz. Kaynak sunucunun fiziksel veri dosyalarını hedef sunucuya geri yüklemek için basit ve hızlı bir geçiş yolu sunmak için anlık görüntü yedekleme ve geri yükleme teknolojisini kullanır. İçeri aktarma işleminden sonra, daha iyi fiyat ve performans, veritabanı yapılandırması üzerinde ayrıntılı denetim ve özel bakım pencereleri de dahil olmak üzere Esnek Sunucu'nun avantajlarından yararlanabilirsiniz.

Kullanıcı girişlerine bağlı olarak, hedef Esnek Sunucunuzu sağlama ve ardından kaynak sunucunun yedeğini alıp hedefi geri yükleme sorumluluğunu üstlenir. Veri dosyalarını, sunucu parametrelerini, uyumlu güvenlik duvarı kurallarını ve sunucu özelliklerini (katman, sürüm, sku-adı, depolama boyutu, konum, coğrafi olarak yedekli yedekleme, genel erişim, etiketler, otomatik büyütme, yedekleme-saklama-günleri, yönetici-kullanıcı ve yönetici-parolası) Tek sunucudan Esnek Sunucu örneğine kopyalar.

MySQL için Azure Veritabanı İçeri Aktarma CLI'sı, önce çevrimdışı içeri aktarma işlemi gerçekleştirerek neredeyse sıfır kapalı kalma süresi geçişini destekler ve sonuç olarak kullanıcılar çevrimiçi geçiş gerçekleştirmek için kaynak ve hedef arasında veri çoğaltması ayarlayabilir.

Bu öğreticide, MySQL için Azure Veritabanı Tek Sunucunuzu Esnek Sunucuya geçirmek için MySQL için Azure Veritabanı CLI İçeri Aktar komutunun nasıl kullanılacağı gösterilmektedir.

Yenilikler

  • Eski Depolama mimarisine (Genel Amaçlı depolama V1) sahip Tek Sunucular için MySQL için Azure Veritabanı İçeri Aktarma işlemi artık desteklenmektedir. İçeri aktarma işlemini başlatmadan önce Eski Depolama ile Tek Sunucu örneğiniz için log_bin=ON parametresini ayarlamanız gerekir. Bunu yapmak için Tek Sunucu örneğiniz için bir okuma amaçlı çoğaltma oluşturun ve ardından silin. Bu işlem, log_bin parametresini ON olarak ayarlar ve daha sonra Esnek Sunucu'ya geçiş yapmak için içeri aktarma işlemini tetikleyebilirsiniz. (Şubat 2024)

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 kaynak MySQL için Azure Veritabanı - Tek Sunucu'nun hesabınızın altında bulunduğu 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. Birden çok aboneliğiniz varsa kaynak MySQL için Azure Veritabanı - Tek Sunucu'nun bulunduğu uygun aboneliği seçin. Tüm aboneliklerinizi almak için az account list komutunu kullanın.

az account set --subscription <subscription id>

Sınırlamalar ve önkoşullar

  • Kaynak MySQL için Azure Veritabanı Tek Sunucunuzda v8.x altyapı sürümü varsa, Esnek Sunucu'ya geçiş sonrasında kodlama uyumsuzluklarını önlemek için kaynak sunucunuzun .NET istemci sürücüsü sürümünü 8.0.32'ye yükseltin.

  • Kaynak MySQL için Azure Veritabanı - Tek Sunucu ve hedef MySQL için Azure Veritabanı - Esnek Sunucu aynı abonelikte, kaynak grubunda, bölgede ve aynı MySQL sürümünde olmalıdır. Abonelikler, kaynak grupları, bölgeler ve sürümler arasında içeri aktarma mümkün değildir.

  • MySQL için Azure Veritabanı İçeri Aktarma CLI tarafından desteklenen MySQL sürümleri 5.7 ve 8.0'dır. Tek Sunucu'da farklı bir ana MySQL sürümü kullanıyorsanız, içeri aktarma komutunu tetiklemeden önce Tek Sunucu örneğinizdeki sürümünüzü yükseltdiğinizden emin olun.

  • MySQL için Azure Veritabanı - Tek Sunucu örneğinde 'lower_case_table_names' sunucu parametresi 2 olarak ayarlandıysa ve uygulamanız bölüm tabloları kullandıysa, İçeri aktarma işlemi bölüm tablolarının bozulmasına neden olur. Bozulma içermeyen MySQL İçeri Aktarma işlemine devam etmek için MySQL için Azure Veritabanı - Tek Sunucu örneğiniz için 'lower_case_table_names' değerini 1 olarak ayarlamanız önerilmektedir.

  • Mevcut Bir Azure MySQL Esnek Sunucusuna aktarma desteklenmez. CLI komutu yeni bir Azure MySQL Esnek Sunucusunun içeri aktarılmasını başlatır.

  • CLI komut parametreleri güncelleştirilirken esnek hedef sunucu HA dışı (Yüksek Kullanılabilirlik devre dışı) olarak sağlanırsa, daha sonra Aynı Bölge HA'ya geçirilebilir, ancak Alanlar Arası Yedekli HA'ya geçirilemez.

  • CMK özellikli Tek Sunucu örnekleri için MySQL için Azure Veritabanı İçeri Aktarma komutu, hedef Esnek Sunucuda CMK'yi etkinleştirmek için zorunlu giriş parametreleri sağlamanızı gerektirir.

  • Tek Sunucu örneğinde 'Altyapı Çift Şifrelemesi' etkinleştirildiyse, benzer işlevleri desteklemek için hedef Esnek Sunucu örneğinde Müşteri Tarafından Yönetilen Anahtar'ın (CMK) etkinleştirilmesi önerilir. MYSQL IÇIN AZURE VERITABANı CLI giriş parametrelerini içeri aktar veya geçiş sonrası ile hedef sunucuda CMK'yi etkinleştirmeyi de seçebilirsiniz.

  • Tek Sunucu örneğinde 'Sorgu Deposu' etkinleştirildiyse, benzer işlevleri desteklemek için hedef Esnek Sunucu örneğinde yavaş sorgu günlüklerinin etkinleştirilmesi önerilir. Buradaki adımları izleyerek hedef esnek sunucuda yavaş sorgu günlüklerini yapılandırabilirsiniz. Daha sonra çalışma kitapları şablonunu kullanarak sorgu içgörülerini görüntüleyebilirsiniz.

  • Tek Sunucu örneğinizde Eski Depolama mimarisi (Genel Amaçlı depolama V1) varsa, içeri aktarma işlemini başlatmadan önce Tek Sunucu örneğiniz için log_bin=ON parametresini ayarlamanız gerekir. Bunu yapmak için Tek Sunucu örneğiniz için bir okuma amaçlı çoğaltma oluşturun ve ardından silin. Bu işlem, log_bin parametresini ON olarak ayarlar ve daha sonra Esnek Sunucu'ya geçiş yapmak için içeri aktarma işlemini tetikleyebilirsiniz.

  • Tek Sunucu örneğinizde Gelişmiş Tehdit Koruması etkinse, geçiş sonrasında [burada] (/azure/mysql/flexible-server/advanced-threat-protection-setting?view=azure-cli-latest) adımları izleyerek geçirilen Esnek Sunucu örneğinde Gelişmiş Tehdit Koruması'nı etkinleştirmeniz gerekir.

  • Tek Sunucu örneğinizde v8.0 altyapı sürümü varsa, Tek ve Esnek Sunucu örneği arasındaki topluluk ikincil sürüm farklılıkları nedeniyle hataya neden olan değişiklikleri önlemek için aşağıdaki eylemleri gerçekleştirmeyi göz önünde bulundurun:

    • Örneğinizin hatalı histogram bilgisinden etkilenip etkilenmediğini denetlemek için aşağıdaki deyimi çalıştırın. Karşılık gelen tablolar çıktıysa, histogram bilgilerini silmeye https://dev.mysql.com/blog-archive/histogram-statistics-in-mysql/ başvurmanızı ve sonra esnek sunucuda yeniden oluşturmanızı öneririz. Histogram bilgisinin yalnızca sütunlar hakkındaki istatistiksel bilgiler olduğunu ve bu bilgilerin yalnızca sistem tablolarında bulunduğunu, dolayısıyla histogram bilgilerinin silinmesinin tablo verilerini etkilemeyeceğini unutmayın.

          SELECT DISTINCT SCHEMA_NAME, TABLE_NAME FROM `information_schema`.`column_statistics`;
      
    • Tablo sütun sırasının düzensiz olmasını sağlayan tabloları denetlemek için aşağıdaki komutu çalıştırın. Bu denetim etkilenen tabloları tanımlarsa, bu tablolardaki tüm verilerin dökümünü almanız ve sonra geri içeri aktarmanız gerekir. Bunun yapılmaması, binlogdaki sütunların sırasının kullanıcı tablolarındaki sütun dizisiyle eşleşmemesine neden olabilir. Bu tutarsızlık, kullanıcıların çoğaltmayı ayarlamasını, verileri geri yüklemesini, Yüksek Kullanılabilirliği (HA) ve diğer işlemleri etkinleştirmesini engelleyebilir.

          SELECT table_schema, table_name, COUNT(*) AS column_count, MAX(ORDINAL_POSITION) AS max_ordinal_position
          FROM information_schema.columns
          GROUP BY table_schema, table_name
          HAVING column_count != max_ordinal_position;
      
  • Yalnızca örnek düzeyinde içeri aktarma desteklenir. Bir örnekte seçili veritabanlarını içeri aktarma seçeneği sağlanmadı.

  • İçeri aktarma işlemi sonrasında kullanıcı aşağıdaki öğeler kaynaktan hedefe kopyalanmalıdır:

    • Okuma-Çoğaltmalar
    • İzleme sayfası ayarları (Uyarılar, Ölçümler ve Tanılama ayarları)
    • Tek Sunucu örneğinizi yönetmek için barındırılan terraform/CLI betikleri Esnek Sunucu başvuruları ile güncelleştirilmelidir

MySQL için Azure Veritabanı - Tek Sunucudan Esnek Sunucuya 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ındaki hizmet varsayılanlarını ve değerlerini kullanarak kaynaktan hedef hedefe örnek düzeyinde içeri aktarma gerçekleştirir:

az mysql flexible-server import create --data-source-type
                                --data-source
                                --resource-group
                                --name
                                [--sku-name]
                                [--tier]
                                [--version]
                                [--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]
                                [--location]
                                [--private-dns-zone]
                                [--public-access]
                                [--resource-group]
                                [--standby-zone]
                                [--storage-auto-grow {Disabled, Enabled}]
                                [--subnet]
                                [--subnet-prefixes]
                                [--tags]
                                [--vnet]
                                [--zone]

Aşağıdaki örnek, 'test-single-server' adlı Tek Sunucu için veri kaynağı bilgilerini alır ve Esnek Sunucu bilgilerini hedefler, konumda adlı test-flexible-serverwestus bir hedef Esnek Sunucu oluşturur (kaynak Tek Sunucununkiyle aynı konum) ve kaynaktan hedefe aktarma gerçekleştirir. Azure Veritabanı MySQL İçeri Aktarma komutu ilgili katman, sürüm, sku-adı, depolama boyutu, konum, coğrafi olarak yedekli yedekleme, genel erişim, etiketler, otomatik büyüme, yedekleme-bekletme-günleri, tek sunucudaki yönetici-kullanıcı ve yönetici-parola özellikleri ile CLI komutuna giriş sağlanmazsa akıllı varsayılanlar olarak Esnek Sunucu'ya eşlenir. Bu isteğe bağlı parametreler için girişler sağlayarak akıllı varsayılanları geçersiz kılmayı seçebilirsiniz.

az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server"

Aşağıdaki örnek, 'test-single-server' adlı Tek Sunucu için veri kaynağı bilgilerini alır ve Esnek Sunucu bilgilerini hedefler, Bölge Yedekliliği etkin ve sanal ağ tümleştirmesi ile konumda adlı test-flexible-serverwestus bir hedef Esnek Sunucu oluşturur (kaynak Tek Sunucu ile aynı konum) oluşturur ve kaynaktan hedefe bir içeri aktarma gerçekleştirir. Sanal ağ yapılandırması hakkında daha fazla bilgiyi burada bulabilirsiniz.

# create vnet
az network vnet create --resource-group testGroup --name myVnet --location testLocation --address-prefixes 172.0.0.0/16

# create subnet
az network vnet subnet create --resource-group testGroup --vnet-name myVnet --address-prefixes 172.0.0.0/24 --name mySubnet

# create private dns zone
az network private-dns zone create -g testGroup -n myserver.private.contoso.com

# trigger mysql import
az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server" --high-availability ZoneRedundant --zone 1 --standby-zone 3  --vnet "myVnet" --subnet "mySubnet" --private-dns-zone "myserver.private.contoso.com"

Aşağıdaki örnek, Müşteri Tarafından Yönetilen Anahtar (CMK) etkin ve hedef Esnek Sunucu bilgileriyle 'test-single-server' adlı Tek Sunucu için veri kaynağı bilgilerini alır, adlı test-flexible-server bir hedef Esnek Sunucu oluşturur ve kaynaktan hedefe bir içeri aktarma gerçekleştirir. CMK özellikli Tek Sunucu örnekleri için, MySQL için Azure Veritabanı İçeri Aktarma komutu CMK'yi etkinleştirmek için zorunlu giriş parametreleri sağlamanızı gerektirir: --key keyIdentifierOfTestKey --identity testIdentity.

# create keyvault
az keyvault create -g testGroup -n testVault --location testLocation \
  --enable-purge-protection true

# create key in keyvault and save its key identifier
keyIdentifier=$(az keyvault key create --name testKey -p software \
  --vault-name testVault --query key.kid -o tsv)

# create identity and save its principalId
identityPrincipalId=$(az identity create -g testGroup --name testIdentity \
  --location testLocation --query principalId -o tsv)

# add testIdentity as an access policy with key permissions 'Wrap Key', 'Unwrap Key', 'Get' and 'List' inside testVault
az keyvault set-policy -g testGroup -n testVault --object-id $identityPrincipalId \
  --key-permissions wrapKey unwrapKey get list

# trigger azure database for mysql import for CMK enabled single server
az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server" --key $keyIdentifier --identity testIdentity

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

Ayar Örnek değer Açıklama
veri kaynağı türü mysql_single İçeri Aktarma MySQL için Azure Veritabanı tetikleme için kaynak hedef olarak görev alan veri kaynağı türü. Kabul edilen değerler: [mysql_single]. Kabul edilen değerlerin açıklaması- mysql_single: MySQL için Azure Veritabanı Tek Sunucu.
veri kaynağı test-single-server Kaynak MySQL için Azure Veritabanı Tek Sunucunun adı veya kaynak kimliği.
resource-group test-rg Kaynak MySQL için Azure Veritabanı Tek 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ı Tek 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 fiyatlandırma katmanlarına bakın.
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, lütfen bir kaynak kimliği belirtin. 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, lütfen ad yerine kaynak kimliğini belirtin. Alt ağ esnek Sunuculara devredilecektir. 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 lütfen 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.
ıop 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.

Çevrimiçi geçiş adımları

Yukarıda belirtilen MySQL için Azure Veritabanı İçeri Aktarma işlemi tamamlandıktan sonra:

  • Hedef MySQL için Azure Veritabanı Esnek Sunucu'da oturum açın ve aşağıdaki komutu çalıştırarak bin-log dosya adını ve hedef sunucuya geri yüklemek için MySQL için Azure Veritabanı CLI İçeri Aktar tarafından kullanılan yedekleme anlık görüntüsüne karşılık gelen konumu alın.
CALL mysql.az_show_binlog_file_and_pos_for_mysql_import();
  • Burada listelenen adımları izleyerek ve çoğaltma durumu hedef sunucunun kaynağa yetiştiği yansıtıldığında çoğaltmayı durdurup tam geçiş gerçekleştirerek kaynak ve hedef sunucu örnekleri arasında veri girişi çoğaltması ayarlayın.

CLI İçeri Aktar komut parametrelerini yapılandırmak MySQL için Azure Veritabanı için en iyi yöntemler

CLI İçeri Aktar komutunu MySQL için Azure Veritabanı tetiklemeden önce, CLI İçeri Aktar'ı MySQL için Azure Veritabanı kullanarak daha hızlı veri yüklemelerini sağlamaya yardımcı olmak için aşağıdaki parametre yapılandırma kılavuzunu göz önünde bulundurun.

  • Akıllı varsayılanları geçersiz kılmak istiyorsanız, kaynak tek sunucunun fiyatlandırma katmanına ve sanal çekirdeklere göre hedef esnek sunucu için işlem katmanını ve SKU adını seçin.

    Tek Sunucu Fiyatlandırma Katmanı Tek Sunucu Sanal Çekirdekleri Esnek Sunucu Katmanı Esnek Sunucu SKU Adı
    Temel 1 Hızla artırılabilir Standard_B1s
    Temel 2 Hızla artırılabilir Standard_B2s
    Genel Amaçlı 4 GeneralPurpose Standard_D4ds_v4
    Genel Amaçlı 8 GeneralPurpose Standard_D8ds_v4
    Genel Amaçlı 16 GeneralPurpose Standard_D16ds_v4
    Genel Amaçlı 32 GeneralPurpose Standard_D32ds_v4
    Genel Amaçlı 64 GeneralPurpose Standard_D64ds_v4
    Bellek İçin İyileştirilmiş 4 MemoryOptimized Standard_E4ds_v4
    Bellek İçin İyileştirilmiş 8 MemoryOptimized Standard_E8ds_v4
    Bellek İçin İyileştirilmiş 16 MemoryOptimized Standard_E16ds_v4
    Bellek İçin İyileştirilmiş 32 MemoryOptimized Standard_E32ds_v4
  • Hedef esnek sunucunun MySQL sürümü, bölgesi, aboneliği ve kaynağı, kaynak tek sunucununkine eşit olmalıdır.

  • Hedef esnek sunucunun depolama boyutu, kaynak tek sunucuya eşit veya ondan büyük olmalıdır.

  • Tek Sunucu örneğinde 'Altyapı Çift Şifrelemesi' etkinleştirildiyse, benzer işlevleri desteklemek için hedef Esnek Sunucu örneğinde Müşteri Tarafından Yönetilen Anahtar'ın (CMK) etkinleştirilmesi önerilir. MYSQL IÇIN AZURE VERITABANı CLI giriş parametrelerini içeri aktar veya geçiş sonrası ile hedef sunucuda CMK'yi etkinleştirmeyi de seçebilirsiniz.

MySQL için Azure Veritabanı İçeri Aktarma'nın Tek Sunucu örneğimi geçirmesi ne kadar sürer?

Aşağıda, Genel Amaçlı V2 depolama mimarisi için depolama boyutuna göre karşılaştırmalı performans yer almaktadır. (Genel amaçlı V1 depolama alanına sahip sunucuların geçirilmesi, depolama mimarisini yükseltmeyi de içerdiğinden daha uzun sürer)

Tek Sunucu 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

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

Aşağıda, 10 GiB depolama boyutu için değişen tablo sayısına göre karşılaştırmalı performans gösterilir.

Tek Sunucu örneğindeki tablo sayısı İçeri aktarma süresi
100 4 dk 24 sn
200 4 dk 40 sn
800 4 dk 52 sn
14,400 17 dk 41 sn
28,800 19 dk 18 sn
38,400 22 dk 50 sn

Dosya sayısı arttıkça veritabanındaki her dosya/tablo çok küçük olabilir. Bu, tutarlı miktarda verinin aktarılmasına neden olur, ancak dosyayla ilgili daha sık işlemler olacaktır ve bu da Mysql için Azure Veritabanı İçeri Aktarma performansını etkileyebilir.

İçeri aktarma sonrası adımlar

  • İçeri aktarma işlemi başarıyla tamamlandıktan MySQL için Azure Veritabanı aşağıdaki özellikleri kaynak Tek Sunucu'dan hedef Esnek Sunucu'ya kopyalayın:
    • Okuma-Çoğaltmalar
    • event_scheduler için sunucu parametresi değeri
    • İzleme sayfası ayarları (Uyarılar, Ölçümler ve Tanılama ayarları)
    • Tek Sunucu örneğinizi yönetmek için barındırdığınız tüm Terraform/CLI betikleri Esnek Sunucu başvuruları ile güncelleştirilmelidir.

Sonraki adım