Öğretici: DMS kullanarak MySQL için MySQL için Azure veritabanı 'na geçirin
Azure veritabanı geçiş hizmeti 'ni kullanarak, yüksek hızlı veri geçişi özelliği olan MySQL Için Azure veritabanı 'na tek seferlik tam bir veritabanı geçişi gerçekleştirebilirsiniz. Bu öğreticide, Azure veritabanı geçiş hizmeti 'nde çevrimdışı geçiş etkinliği kullanarak MySQL 5,7 ' in şirket içi örneğinden bir örnek veritabanını MySQL için Azure veritabanı 'na (v 5.7) geçireceğiniz. Makaleler kaynağı bir MySQL veritabanı örneği ve hedefi MySQL için Azure veritabanı olacak şekilde varsaysa da, kaynak sunucu adını ve kimlik bilgilerini değiştirerek MySQL için bir Azure veritabanından diğerine geçiş yapmak için kullanılabilir. Ayrıca, daha düşük sürüm MySQL sunucularından (v 5.6 ve üzeri) daha yüksek sürümlere geçiş de desteklenir.
Önemli
Çevrimiçi geçişler için, veri içinde çoğaltmaIle mydumper/myloader gibi açık kaynaklı araçları kullanabilirsiniz.
Not
Bu geçiş deneyiminin PowerShell tabanlı betik temelli bir sürümü için bkz. MySQL Için Azure veritabanı 'na betik çevrimdışı geçişi.
Not
MySQL için Amazon Ilişkisel veritabanı hizmeti (RDS) ve Amazon Aurora (MySQL-based), geçiş için kaynaklar olarak da desteklenir.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- Mysqldump yardımcı programını kullanarak veritabanı şemasını geçirin.
- Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
- Azure veritabanı geçiş hizmeti 'ni kullanarak bir geçiş projesi oluşturun.
- Geçişi çalıştırma.
- Geçişi izleme.
Önkoşullar
Bu öğreticiyi tamamlamak için aşağıdakileri yapmanız gerekir:
Etkin aboneliği olan bir Azure hesabına sahip olmanız gerekir. Ücretsiz hesap oluşturun.
Sürüm 5,7 ile şirket içi bir MySQL veritabanı vardır. Aksi takdirde MySQL Community edition 5,7 ' ı indirip yükleyin.
MySQL çevrimdışı geçişi yalnızca Premium DMS SKU 'sunda desteklenir.
MySQL için Azure Veritabanı örneği oluşturma. Çalışma ekranı uygulamasını kullanarak bir veritabanını bağlama ve oluşturma hakkındaki ayrıntıları öğrenmek için MySQL çalışma ekranı kullanma makalesine başvurun ve verileri sorgulayın . MySQL için Azure veritabanı sürümü, şirket içi MySQL sürümüne eşit veya ondan daha yüksek olmalıdır. Örneğin, MySQL 5,7, MySQL için Azure veritabanı 5,7 ' e geçirebilir veya 8 ' e yükseltilir.
expressroute veya VPNkullanarak şirket içi kaynak sunucularınıza siteden siteye bağlantı sağlayan Azure Resource Manager dağıtım modelini kullanarak Azure veritabanı geçiş hizmeti için Microsoft Azure sanal ağı oluşturun. Sanal ağ oluşturma hakkında daha fazla bilgi için sanal ağ belgelerineve özellikle adım adım ayrıntılarla birlikte hızlı başlangıç makalelerine bakın.
Not
Sanal networkNet kurulumu sırasında, Microsoft 'a ağ eşlemesi ile ExpressRoute kullanırsanız, hizmetin sağlanacağı alt ağa aşağıdaki hizmet uç noktalarını ekleyin:
- hedef veritabanı uç noktası (örneğin, SQL uç noktası, Cosmos DB uç noktası vb.)
- Depolama uç noktası
- Service Bus uç noktası
Azure veritabanı geçiş hizmeti internet bağlantısı olmadığından bu yapılandırma gereklidir.
sanal ağ ağ güvenlik grubu kurallarınızın servicebus, Depolama ve AzureMonitor için servicetag giden bağlantı noktası 443 ' i engellemediğinden emin olun. Sanal ağ NSG trafik filtrelemesi hakkında daha fazla bilgi için ağ güvenlik grupları ile ağ trafiğini filtrelememakalesine bakın.
Azure veritabanı geçiş hizmeti 'nin sanal ağından kaynak MySQL sunucusuna erişmesine izin vermek için Windows güvenlik duvarınızı açın, varsayılan olarak TCP bağlantı noktası 3306 ' dir.
Kaynak veritabanınızın önünde bir güvenlik duvarı gereci kullanırken, Azure veritabanı geçiş hizmeti için sanal ağdan gelen bağlantıların geçiş için kaynak veritabanına erişmesine izin vermek üzere güvenlik duvarı kuralları eklemeniz gerekebilir.
Hedef veritabanlarına Azure veritabanı geçiş hizmeti erişimi için sanal ağa izin vermek amacıyla, sunucu düzeyinde bir güvenlik duvarı kuralı oluşturun veya MySQL Için hedef Azure VERITABANı için VNET hizmet uç noktalarını yapılandırın .
Kaynak MySQL'in desteklenen MySQL Community Edition sürümünde olması gerekir. MySQL örneğinin sürümünü belirlemek için, MySQL yardımcı programında veya MySQL Workbench'te şu komutu çalıştırın:
SELECT @@version;MySQL için Azure Veritabanı yalnızca InnoDB tablolarını destekler. MyISAM tablolarını InnoDB'ye dönüştürmek için Converting Tables from MyISAM to InnoDB (Tabloları MyISAM'dan InnoDB'ye Dönüştürme) başlıklı makaleye bakın
Kullanıcının, kaynak veritabanındaki verileri okuma ayrıcalıklarına sahip olması gerekir.
Hedef MySQL için Azure veritabanını boyutlandırma örneği
Azure veritabanı geçiş hizmeti 'ni kullanarak daha hızlı veri yükleri için MySQL sunucusu için hedef Azure veritabanı 'nı hazırlamak üzere aşağıdaki sunucu parametreleri ve yapılandırma değişiklikleri önerilir.
- max_allowed_packet – büyük satırlar nedeniyle herhangi bir bağlantı sorununu engellemek için 1073741824 (ör. 1GB) olarak ayarlayın.
- slow_query_log: yavaş sorgu günlüğünü kapatmak için kapalı olarak ayarlayın. Bu, veri yükleri sırasında yavaş sorgu günlüğü 'nün neden olduğu yükü ortadan kaldırır.
- query_store_capture_mode – sorgu deposunu kapatmak için NONE olarak ayarlayın. Bu, sorgu deposu tarafından örnekleme etkinliklerinin neden olduğu yükü ortadan kaldırır.
- innodb_buffer_pool_size – Innodb_buffer_pool_size yalnızca MySQL için Azure veritabanı sunucusu için işlem ölçeklendirerek artırılabilir. İnnodb_buffer_pool_size artırmak için, geçiş sırasında portalın fiyatlandırma katmanından sunucu 64 vCore Genel Amaçlı SKU 'suna ölçeklendirin.
- innodb_io_capacity & innodb_io_capacity_max-geçiş hızını iyileştirmek üzere GÇ kullanımını iyileştirmek için Azure portal sunucu parametrelerinden 9000 olarak değiştirin.
- innodb_write_io_threads & innodb_write_io_threads-geçiş hızını artırmak için Azure portal içindeki sunucu parametrelerinden 4 ' e geçin.
- Depolama katmanını ölçeklendirin: MySQL için Azure veritabanı sunucusu için ıops, depolama katmanındaki artışla aşamalı olarak artar.
- Tek sunuculu dağıtım seçeneğinde, daha hızlı yüklemeler için, sağlanan IOPS 'yi artırmak üzere depolama katmanını arttırmanızı öneririz.
- Esnek sunucu dağıtım seçeneğinde, depolama boyutundan bağımsız olarak ıOPS 'yi ölçeklendirebilmeniz (artırmanız veya azaltmanız) önerilir.
- Depolama boyutunun yalnızca yukarı ölçeklenebileceğini unutmayın.
Geçiş işlemi tamamlandıktan sonra, sunucu parametrelerini ve yapılandırmasını, iş yükünüzün gerektirdiği değerlere geri döndürebilirsiniz.
Veritabanı şemasını geçir
Tablo şemaları, dizinler ve saklı yordamlar gibi tüm veritabanı nesnelerini aktarmak için, kaynak veritabanından şemayı ayıklamız ve hedef veritabanına uygulamanız gerekir. Şemayı ayıklamak için --no-data parametresiyle mysqldump yardımcı programını kullanabilirsiniz. Bunun için hem kaynak MySQL veritabanına hem de MySQL için Azure veritabanı 'na bağlanabilecek bir makineye ihtiyacınız vardır.
Şemayı mysqldump kullanarak dışarı aktarmak için aşağıdaki komutu çalıştırın:
mysqldump -h [servername] -u [username] -p[password] --databases [db name] --no-data > [schema file path]
Örnek:
mysqldump -h 10.10.123.123 -u root -p --databases migtestdb --no-data > d:\migtestdb.sql
Şemayı, MySQL için Azure veritabanı hedef olarak içeri aktarmak için aşağıdaki komutu çalıştırın:
mysql.exe -h [servername] -u [username] -p[password] [database]< [schema file path]
Örnek:
mysql.exe -h mysqlsstrgt.mysql.database.azure.com -u docadmin@mysqlsstrgt -p migtestdb < d:\migtestdb.sql
Şemanızda yabancı anahtarlar veya Tetikleyiciler varsa, geçiş sırasında paralel veri yükü geçiş görevi tarafından işlenir. Şema geçişi sırasında yabancı anahtarları veya Tetikleyicileri bırakmaya gerek yoktur.
Microsoft.DataMigration kaynak sağlayıcısını kaydetme
Azure portalında oturum açın. Abonelikler'i arayın ve seçin.

Örnek oluşturmak istediğiniz aboneliği seçin ve Azure Veritabanı Geçiş Hizmeti sağlayıcılar'ı seçin.

Geçiş araması ve ardından Microsoft.DataMigration için kaydol'u seçin.

Veritabanı geçiş hizmeti örneği oluşturma
Azure portal + kaynak oluştur' u seçin, Azure veritabanı geçiş hizmeti ' ni arayın ve ardından açılan listeden Azure veritabanı geçiş hizmeti ' ni seçin.

Azure Veritabanı Geçiş Hizmeti ekranında Oluştur'u seçin.

Geçiş Hizmeti oluşturun ekranında hizmet için bir ad belirtin, aboneliği ve yeni ya da var olan bir kaynak grubunu seçin.
Bir fiyatlandırma katmanı seçin ve ağ ekranına geçiş yapın. çevrimdışı geçiş özelliği yalnızca Premium fiyatlandırma katmanında kullanılabilir.
Maliyetler ve fiyatlandırma katmanları hakkında daha fazla bilgi için fiyatlandırma sayfasına bakın.

Listeden var olan bir sanal ağı seçin veya oluşturulacak yeni sanal ağın adını belirtin. Gözden geçir + oluştur ekranına geçin. İsteğe bağlı olarak, Etiketler ekranını kullanarak hizmete Etiketler ekleyebilirsiniz.
sanal ağ, kaynak SQL Server ve hedef Azure SQL Veritabanı örneğine erişimi olan Azure veritabanı geçiş hizmeti sağlar.

Azure portal sanal ağ oluşturma hakkında daha fazla bilgi için Azure Portal kullanarak sanal ağ oluşturmamakalesine bakın.
Yapılandırmayı gözden geçirin ve Oluştur ' u seçerek hizmeti oluşturun.

Geçiş projesi oluşturma
Hizmet oluşturulduktan sonra Azure portaldan bulun, açın ve yeni bir geçiş projesi oluşturun.
Azure portalda Tüm hizmetler'i seçin, Azure Veritabanı Geçiş Hizmeti araması yapın ve Azure Veritabanı Geçiş Hizmeti'ni seçin.

Arama sonuçlarından geçiş hizmeti örneğinizi seçin ve + yeni geçiş Project' ı seçin.

Yeni geçiş projesi ekranında, proje için bir ad belirtin, kaynak sunucu türü seçimi kutusunda MySQL' i seçin, hedef sunucu türü seçimi kutusunda MySQL için Azure veritabanı ' nı seçin ve geçiş etkinlik türü seçimi kutusunda veri geçişi' ni seçin. Etkinlik oluştur ve çalıştır seçeneğini belirleyin.

Not
Alternatif olarak, şimdi proje oluştur ' u seçerek geçiş projesini hemen oluşturabilir ve geçişi daha sonra yürütebilirsiniz.
Geçiş projesini yapılandırma
Kaynak Seç ekranında, kaynak MySQL örneği için bağlantı ayrıntılarını belirtin ve ileri ' yi seçin : hedef>>seçin

Hedef seçin ekranında hedef örnek için bağlantı ayrıntılarını belirtin ve MySQL için Azure Veritabanı: Veritabanlarını seçin'i>>

Veritabanlarını seçin ekranında, kaynağı ve geçiş için hedef veritabanını eşle ve Sonraki: Geçiş ayarlarını yapılandır'ı seçin>>. Kaynağı salt okunur yapmak için Kaynak Sunucuyu Salt Okunur Yapma seçeneğini belirleyin, ancak bunun sunucu düzeyinde bir ayar olduğunu lütfen belirtin. Seçiliyse, yalnızca seçili veritabanlarını değil, tüm sunucuyu salt okunur olarak ayarlar.
Hedef veritabanı kaynak veritabanıyla aynı veritabanı adını içeriyorsa, Azure Veritabanı Geçiş Hizmeti varsayılan olarak hedef veritabanını seçer.

Not
Bu adımda birden çok veritabanı seçebilirsiniz, ancak her veritabanı işlem paylaşacak olduğu için, veritabanlarının bu şekilde kaç tane ve ne kadar hızlı geçirilebilirsiniz sınırları vardır. SKU'nun varsayılan Premium, her geçiş görevi iki tablo paralel olarak geçirmeyi dener. Bu tablolar seçilen veritabanlarından herhangi biri olabilir. Bu yeterince hızlı değilse, veritabanı geçiş etkinliklerini farklı geçiş görevlerine bölebilir ve birden çok hizmet arasında ölçeklendirebilirsiniz. Ayrıca bölge başına abonelik başına 10 örnek Azure Veritabanı Geçiş Hizmeti sınırı vardır. Geçiş aktarım hızı ve paralelleştirme üzerinde daha ayrıntılı denetim için lütfen PowerShell: MySQL veritabanından DMS kullanarak mysql veritabanına çevrimdışı geçiş MySQL için Azure Veritabanı bakın
Geçiş ayarlarını yapılandır ekranında, geçişin parçası olacak tabloları seçin ve sonraki : Özet>>. Hedef tablolarda herhangi bir veri varsa, bunlar varsayılan olarak seçilmez, ancak bunları açıkça seçebilirsiniz ve geçişe başlamadan önce kesilirler.

Özet ekranındaki Etkinlik adı metin kutusunda, geçiş etkinliği için bir ad belirtin ve kaynak ve hedef ayrıntılarının daha önce belirttiğiniz bilgilerle eş olduğundan emin olmak için özeti gözden geçirin.

Geçişi başlat'ı seçin. Geçiş etkinliği penceresi görüntülenir ve etkinliğin Durumu Başlat başlat aşamasındadır. Tablo geçişleri başlarken Durum Çalışıyor olarak değişir.

Geçişi izleme
Geçiş etkinliği ekranında Yenile'yi seçerek ekranı güncelleştirin ve tamamlanan tablo sayısıyla ilgili ilerlemeyi görebilirsiniz.
Geçirilen her tablonun durumunu görmek için etkinlik ekranında veritabanı adına tıklarsınız. Ekranı güncelleştirmek için Yenile'yi seçin.

Geçişi tamamlama
Geçiş etkinliği ekranında Yenile'yi seçerek, gösterilen verileri, geçişin Durum bilgisi Tamamlandı olana kadar güncelleştirebilirsiniz.

Geçiş sonrası etkinlikler
Çevrimdışı geçişte tam geçiş, bu belgenin kapsamı dışında olan, ancak aşağıdaki geçiş sonrası etkinliklere yönelik olarak öngörülen uygulamaya bağımlı bir işlemdir:
- Uygulama gereksinimlerine göre oturum açma bilgileri, roller ve izinler oluşturun.
- Geçiş öncesi adım sırasında ayıklanan şekilde hedef veritabanındaki tüm tetikleyicileri yeniden oluşturun.
- Geçişi onaylama amacıyla uygulamanın hedef veritabanına karşı sıhhi testini gerçekleştirin.
Kaynakları temizleme
Veritabanı Geçiş Hizmeti'ne devam edecek değilsanız, aşağıdaki adımları kullanarak hizmeti silebilirsiniz:
Azure portalda Tüm hizmetler'i seçin, Azure Veritabanı Geçiş Hizmeti araması yapın ve Azure Veritabanı Geçiş Hizmeti'ni seçin.

Arama sonuçlarından geçiş hizmeti örneğinizi seçin ve Hizmeti Sil'i seçin.

Onay iletişim kutusunda, TÜR THE DATABASE MIGRATION SERVICE NAME metin kutusuna hizmetin adını yazın ve Sil'i seçin

Sonraki adımlar
- DMS kullanarak geçişler yaparken bilinen sorunlar ve sınırlamalar hakkında bilgi için, Sık karşılaşılan sorunlar -Azure Veritabanı Geçiş Hizmeti.
- DMS kullanırken kaynak veritabanı bağlantı sorunlarını gidermek için kaynak veritabanlarını bağlama sorunları makalesine bakın.
- Daha fazla Azure Veritabanı Geçiş Hizmeti için Bkz. Hangi Azure Veritabanı Geçiş Hizmeti?.
- Daha fazla MySQL için Azure Veritabanı için Bkz. Hangi MySQL için Azure Veritabanı?.
- PowerShell aracılığıyla DMS kullanma hakkında rehberlik için PowerShell: MySQL veritabanından DMS kullanarak mysql veritabanına MySQL için Azure Veritabanı çalıştırma makalesine bakın