MySQL Workbench kullanarak MySQL için Amazon RDS'yi MySQL için Azure Veritabanı geçirme

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

Önemli

MySQL için Azure Veritabanı tek sunucu kullanımdan kaldırma yolundadır. Esnek MySQL için Azure Veritabanı sunucuya yükseltmenizi kesinlikle öneririz. MySQL için Azure Veritabanı esnek sunucuya geçiş hakkında daha fazla bilgi için bkz. MySQL için Azure Veritabanı Tek Sunucu'ya neler oluyor?

MySQL için Amazon RDS'yi MySQL için Azure Veritabanı geçirmek için MySQL Workbench Dışarı/İçeri Aktarma, Azure Veritabanı Geçiş Hizmeti (DMS) ve MySQL dökümü ve geri yükleme gibi çeşitli yardımcı programları kullanabilirsiniz. Ancak MySQL Workbench Geçiş Sihirbazı'nı kullanmak, MySQL için Amazon RDS veritabanlarınızı MySQL için Azure Veritabanı taşımak için kolay ve kullanışlı bir yol sağlar.

Geçiş Sihirbazı ile, geçirebileceğiniz şemaları ve nesneleri rahatça seçebilirsiniz. Ayrıca hataları ve performans sorunlarını gerçek zamanlı olarak tanımlamak için sunucu günlüklerini görüntülemenizi sağlar. Sonuç olarak, bir hata algılandığında geçiş işlemi sırasında tabloları veya veritabanı yapılarını ve nesnelerini düzenleyebilir ve değiştirebilir ve ardından sıfırdan yeniden başlatmak zorunda kalmadan geçişi sürdürebilirsiniz.

Dekont

Geçiş Sihirbazı'nı, bu makalenin kapsamı dışında kalan Microsoft SQL Server, Oracle, PostgreSQL, MariaDB gibi diğer kaynakları geçirmek için de kullanabilirsiniz.

Önkoşullar

Geçiş işlemine başlamadan önce, aşağıda açıklandığı gibi çeşitli parametrelerin ve özelliklerin düzgün yapılandırıldığından ve ayarlandığından emin olmanız önerilir.

  • Kaynak ve hedef veritabanlarının Karakter kümesinin aynı olduğundan emin olun.

  • İçeri aktarmak veya geçirmek istediğiniz veri miktarına veya iş yüküne bağlı olarak bekleme zaman aşımını makul bir süreye ayarlayın.

  • max_allowed_packet parameter değerini, içeri aktarmak veya geçirmek istediğiniz veritabanının boyutuna bağlı olarak makul bir miktara ayarlayın.

  • MySQL için Azure Veritabanı Server yalnızca InnoDB Depolama altyapısını desteklediğinden tüm tablolarınızın InnoDB kullandığını doğrulayın.

  • Tüm tetikleyicileri, saklı yordamları ve kök kullanıcı veya süper kullanıcı tanımlayıcılarını içeren diğer işlevleri kaldırın, değiştirin veya değiştirin (MySQL için Azure Veritabanı Süper kullanıcı ayrıcalığını desteklemez). Tanımlayıcıları içeri aktarma işlemini çalıştıran yönetici kullanıcının adıyla değiştirmek için aşağıdaki komutu çalıştırın:

    DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003
    DELIMITER;
    /* Modified to */
    DELIMITER;
    /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003
    DELIMITER;
    
    
  • Veritabanı sunucunuzda Kullanıcı Tanımlı İşlevler (UDF) çalışıyorsa, mysql veritabanı için ayrıcalığı silmeniz gerekir. Sunucunuzda çalışan UDF'ler olup olmadığını belirlemek için aşağıdaki sorguyu kullanın:

    SELECT * FROM mysql.func;
    

    UDF'lerin çalıştığını fark ederseniz, aşağıdaki sorguyu kullanarak UDF'leri bırakabilirsiniz:

    DROP FUNCTION your_UDFunction;
    
  • Özellikle çok büyük bir veritabanını dışarı aktarırken, aracın üzerinde çalıştığı sunucunun ve sonuçta dışarı aktarma konumunun dışarı aktarma işlemini gerçekleştirmek için yeterli disk alanına ve işlem gücüne (sanal çekirdek, CPU ve Bellek) sahip olduğundan emin olun.

  • Şirket içi veya AWS örneği arasında bir yol oluşturun ve iş yükünün güvenlik duvarlarının veya diğer ağ güvenlik katmanlarının arkasında olup olmadığını MySQL için Azure Veritabanı.

Geçiş işlemini başlatma

  1. Geçiş işlemini başlatmak için MySQL Workbench'te oturum açın ve giriş simgesini seçin.

  2. Sol gezinti çubuğunda, aşağıdaki ekran görüntüsünde gösterildiği gibi Geçiş Sihirbazı simgesini seçin.

    MySQL Workbench start screen

    Aşağıda gösterildiği gibi Geçiş Sihirbazı'nın Genel Bakış sayfası görüntülenir.

    MySQL Workbench Migration Wizard welcome page

  3. ODBC Yönetici istrator'ı Aç'ı seçerek MySQL Sunucusu için bir ODBC sürücününün yüklü olup olmadığını belirleyin.

    Bizim durumumuzda, Sürücüler sekmesinde iki MySQL Sunucusu ODBC sürücüsünün zaten yüklü olduğunu fark edeceksiniz.

    ODBC Data Source Administrator page

    Bir MySQL ODBC sürücüsü yüklü değilse, sürücüyü yüklemek için MySQL Workbench'i yüklemek için kullandığınız MySQL Yükleyicisi'ni kullanın. MySQL ODBC sürücüsü yüklemesi hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:

  4. ODBC Veri Kaynağı Yönetici strator iletişim kutusunu kapatın ve geçiş işlemine devam edin.

Kaynak veritabanı sunucusu bağlantı parametrelerini yapılandırma

  1. Genel Bakış sayfasında Geçişi Başlat'ı seçin.

    Kaynak Seçimi sayfası görüntülenir. Geçiş yaptığınız RDBMS ve bağlantı parametreleri hakkında bilgi sağlamak için bu sayfayı kullanın.

  2. Veritabanı Sistemi alanında MySQL'i seçin.

  3. Depolanan Bağlan ion alanında bu RDBMS için kaydedilen bağlantı ayarlarından birini seçin.

    Sayfanın alt kısmındaki onay kutusunu işaretleyerek ve tercihinizin adını sağlayarak bağlantıları kaydedebilirsiniz.

  4. Bağlan ion Yöntemi alanında Standart TCP/IP'yi seçin.

  5. Ana bilgisayar adı alanında kaynak veritabanı sunucunuzun adını belirtin.

  6. Bağlantı noktası alanında 3306 değerini belirtin ve ardından sunucuya bağlanmak için kullanıcı adını ve parolayı girin.

  7. Veritabanı alanına, biliyorsanız geçirmek istediğiniz veritabanının adını girin; aksi takdirde bu alanı boş bırakın.

  8. MySQL Sunucu örneğiniz ile bağlantıyı denetlemek için Test Bağlan ion'ı seçin.

    Doğru parametreleri girdiyseniz, başarılı bir bağlantı girişimi olduğunu belirten bir ileti görüntülenir.

    Source database connection parameters page

  9. İleri'yi seçin.

Hedef veritabanı sunucusu bağlantı parametrelerini yapılandırma

  1. Hedef Seçim sayfasında, kaynak sunucuya bağlantıyı ayarlamak için buna benzer bir işlem kullanarak hedef MySQL Sunucu örneğine bağlanmak için parametreleri ayarlayın.

  2. Bağlantının başarılı olduğunu doğrulamak için test Bağlan'ı seçin.

    Target database connection parameters page

  3. İleri'yi seçin.

Geçirecek şemaları seçin

Geçiş Sihirbazı MySQL Sunucu örneğinizle iletişim kurar ve kaynak sunucudan şemaların listesini getirir.

  1. Bu işlemi görüntülemek için Günlükleri göster'i seçin.

    Aşağıdaki ekran görüntüsünde şemaların kaynak veritabanı sunucusundan nasıl alındığını gösterilmektedir.

    Fetch schemas list page

  2. Tüm şemaların başarıyla getirildiğini doğrulamak için İleri'yi seçin.

    Aşağıdaki ekran görüntüsünde getirilen şemaların listesi gösterilmektedir.

    Schemas selection page

    Yalnızca bu listede görünen şemaları geçirebilirsiniz.

  3. Geçirmek istediğiniz şemaları seçin ve ardından İleri'yi seçin.

Nesne geçişi

Ardından, geçirmek istediğiniz nesneleri belirtin.

  1. Seçimi Göster'i seçin ve ardından Kullanılabilir Nesneler'in altında, geçirmek istediğiniz nesneleri seçin ve ekleyin.

    Nesneleri eklediğinizde, aşağıdaki ekran görüntüsünde gösterildiği gibi Geçirilen Nesneler altında görünürler.

    Source objects selection page

    Bu senaryoda tüm tablo nesnelerini seçtik.

  2. İleri'yi seçin.

Verileri düzenleme

Bu bölümde, geçirmek istediğiniz nesneleri düzenleme seçeneğiniz vardır.

  1. El ile Düzenleme sayfasında, sağ üst köşedeki Görünüm açılan menüsüne dikkat edin.

    Manual Editing selection page

    Görünüm açılan kutusu üç öğe içerir:

    • Tüm Nesneler – Tüm nesneleri görüntüler. Bu seçenekle, oluşturulan SQL'i hedef veritabanı sunucusuna uygulamadan önce el ile düzenleyebilirsiniz. Bunu yapmak için nesneyi seçin ve Kodu ve İletileri Göster'i seçin. Seçili nesneye karşılık gelen oluşturulan MySQL kodunu görebilirsiniz (ve düzenleyebilirsiniz!).
    • Geçiş sorunları – Geçiş sırasında oluşan ve gözden geçirebileceğiniz ve doğrulayabileceğiniz sorunları görüntüler.
    • Sütun Eşleme – Sütun eşleme bilgilerini görüntüler. Hedef nesnenin adını düzenlemek ve sütununu değiştirmek için bu görünümü kullanabilirsiniz.
  2. İleri'yi seçin.

Hedef veritabanını oluşturma

  1. Hedef RDBMS'de şema oluştur onay kutusunu seçin.

    Ayrıca, zaten var olan şemaların değiştirilmemesi veya güncelleştirilmesi için bu şemaları korumayı da seçebilirsiniz.

    Target Creation Options page

    Bu makalede, şemayı hedef RDBMS'de oluşturmayı seçtik, ancak dosyayı yerel bilgisayarınıza veya başka amaçlarla kaydetmek için SQL betik dosyası oluştur onay kutusunu da seçebilirsiniz.

  2. İleri'yi seçin.

Veritabanı nesnelerini oluşturmak için MySQL betiğini çalıştırma

Hedef RDBMS'de şema oluşturmayı seçtiğimiz için geçirilen SQL betiği hedef MySQL sunucusunda yürütülür. İlerleme durumunu aşağıdaki ekran görüntüsünde gösterildiği gibi görüntüleyebilirsiniz:

Create Schemas page

  1. Şemalar ve nesneleri oluşturulduktan sonra İleri'yi seçin.

    Aşağıdaki ekran görüntüsünde gösterildiği gibi, Hedef Sonuçları Oluştur sayfasında, oluşturulan nesnelerin listesi ve oluşturulurken karşılaşılan hataların bildirimi gösterilir.

    Create Target Results page

  2. Her şeyin amaçlandığı gibi tamamlandığını doğrulamak için bu sayfadaki ayrıntıları gözden geçirin.

    Bu makalede herhangi bir hata yok. Hata iletilerini ele almanız gerekmiyorsa geçiş betiğini düzenleyebilirsiniz.

  3. Nesne kutusunda, düzenlemek istediğiniz nesneyi seçin.

  4. Seçili nesne için SQL CREATE betiği altında SQL betiğinizi değiştirin ve ardından Uygula'yı seçerek değişiklikleri kaydedin.

  5. Değişiklikleriniz de dahil olmak üzere betiği çalıştırmak için Nesneleri Yeniden Oluştur'u seçin.

    Betik başarısız olursa, oluşturulan betiği düzenlemeniz gerekebilir. Ardından SQL betiğini el ile düzeltebilir ve her şeyi yeniden çalıştırabilirsiniz. Bu makalede hiçbir şeyi değiştirmiyor, bu nedenle betiği olduğu gibi bırakacağız.

  6. İleri'yi seçin.

Veri aktarma

İşlemin bu bölümü, kaynak MySQL Server veritabanı örneğindeki verileri yeni oluşturulan hedef MySQL veritabanı örneğine taşır. Bu işlemi yapılandırmak için Veri Aktarımı Kurulumu sayfasını kullanın.

Data Transfer Setup page

Bu sayfada veri aktarımını ayarlamak için seçenekler sağlanır. Bu makalenin amaçları doğrultusunda varsayılan değerleri kabul edeceğiz.

  1. Gerçek veri aktarma işlemine başlamak için İleri'yi seçin.

    Veri aktarımı işleminin ilerleme durumu aşağıdaki ekran görüntüsünde gösterildiği gibi görünür.

    Bulk Data Transfer page

    Dekont

    Veri aktarımı işleminin süresi doğrudan geçirmekte olduğunuz veritabanının boyutuyla ilgilidir. Kaynak veritabanı ne kadar büyük olursa, işlem o kadar uzun sürer ve büyük veritabanları için birkaç saate kadar sürebilir.

  2. Aktarım tamamlandıktan sonra İleri'yi seçin.

    Geçiş Raporu sayfası görüntülenir ve aşağıdaki ekran görüntüsünde gösterildiği gibi sürecin tamamını özetleyen bir rapor sağlanır:

    Migration Progress Report page

  3. Geçiş Sihirbazı'nı kapatmak için Son'u seçin.

    Geçiş başarıyla tamamlandı.

Geçirilen şemaların ve tabloların tutarlılığını doğrulama

  1. Ardından, geçirilen şemaların ve tabloların MySQL kaynak veritabanınızla tutarlı olduğunu doğrulamak için MySQL hedef veritabanı örneğinizde oturum açın.

    Bizim örneğimizde, MySQL için Amazon RDS: MyjolieDB veritabanındaki tüm şemaların (sakila, moda, öğe, müşteri, kıyafet, dünya ve world_x) başarıyla MySQL için Azure Veritabanı geçirildiğini görebilirsiniz: azmysql örneği.

  2. Tablo ve satır sayısını doğrulamak için her iki örnekte de aşağıdaki sorguyu çalıştırın:

    SELECT COUNT (*) FROM sakila.actor;

    Aşağıdaki ekran görüntüsünde Amazon RDS MySQL için satır sayısının 200 olduğunu ve MySQL için Azure Veritabanı örneğiyle eşleşdiğini görebilirsiniz.

    Table and Row size source database

    Table and Row size target database

    Yukarıdaki sorguyu her şemada ve tabloda çalıştırabilirsiniz ancak yüz binlerce, hatta milyonlarca tabloyla ilgileniyorsanız bu oldukça fazla iş olacaktır. Bunun yerine şemayı (veritabanı) ve tablo boyutunu doğrulamak için aşağıdaki sorguları kullanabilirsiniz.

  3. Veritabanı boyutunu denetlemek için aşağıdaki sorguyu çalıştırın:

    SELECT table_schema AS "Database", 
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" 
    FROM information_schema.TABLES 
    GROUP BY table_schema;
    
  4. Tablo boyutunu denetlemek için aşağıdaki sorguyu çalıştırın:

    SELECT table_name AS "Table",
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
    FROM information_schema.TABLES
    WHERE table_schema = "database_name"
    ORDER BY (data_length + index_length) DESC;
    

    Aşağıdaki ekran görüntülerinde Kaynak Amazon RDS MySQL örneğindeki şema (veritabanı) boyutunun hedef MySQL için Azure Veritabanı Örneği ile aynı olduğunu görürsünüz.

    Database size source database

    Database size target database

    Şema (veritabanı) boyutları her iki örnekte de aynı olduğundan, tek tek tablo boyutlarını denetlemek gerçekten gerekli değildir. Her durumda, tablo boyutlarınızı gerektiği gibi denetlemek için her zaman yukarıdaki sorguyu kullanabilirsiniz.

    Şimdi geçişinizin başarıyla tamamlandığını doğruladınız.

Sonraki adımlar

  • Veritabanlarını MySQL için Azure Veritabanı geçirme hakkında daha fazla bilgi için bkz. Veritabanı Geçiş Kılavuzu.
  • MySQL/PostgreSQL uygulamalarını Azure yönetilen hizmetine kolayca geçirme videosunu izleyin. Bu, MySQL uygulamalarının MySQL için Azure Veritabanı'a nasıl geçirildiğini gösteren bir tanıtım içerir.