MySQL için Azure Veritabanı yapılandırma - Esnek Sunucu veri dışarı aktarma çoğaltması

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

Bu makalede, kaynak ve çoğaltma sunucularını yapılandırarak MySQL için Azure Veritabanı Esnek Sunucu'da veri dışarı aktarma çoğaltmasının nasıl ayarlanacağı açıklanır. Bu makalede, MySQL sunucuları ve veritabanlarıyla ilgili daha önce deneyim sahibi olduğunuz varsayılır.

Veri çıkışı çoğaltması için kaynak her zaman Esnek Sunucu MySQL için Azure Veritabanı. Çoğaltma, diğer bulut sağlayıcıları, şirket içi veya sanal makineler üzerindeki herhangi bir dış MySQL sunucusu olabilir. Bu makaledeki adımları gerçekleştirmeden önce Veri çıkışı çoğaltmasının sınırlamalarını ve gereksinimlerini gözden geçirin.

Not

Bu makalede, Microsoft'un artık kullanmadığını ifade eden bağımlı terimine başvuruda bulunur. Terim yazılımdan kaldırıldığında, bu makaleden kaldıracağız.

Kaynak olarak kullanmak üzere MySQL için Azure Veritabanı Esnek Sunucu örneği oluşturun.

  1. MySQL için Azure Veritabanı Esnek Sunucu'nun yeni bir örneğini oluşturun (örneğin, sourceserver.mysql.database.Azure.com). Sunucu oluşturmak için Azure portalını kullanarak MySQL için Azure Veritabanı Esnek Sunucu örneği oluşturma bölümüne bakın. Bu sunucu, Veri Çıkışı çoğaltması için "kaynak" sunucudur.

  2. Yinelenen kullanıcı hesapları ve ilgili ayrıcalıklar oluşturun.

    1. Kullanıcı hesapları kaynak sunucudan çoğaltma sunucusuna çoğaltılamaz. Kullanıcılara çoğaltma sunucusuna erişim sağlamayı planladığınızı varsayalım. Bu durumda, bu yeni oluşturulan MySQL için Azure Veritabanı Esnek Sunucu örneğinde tüm hesapları ve ilgili ayrıcalıkları el ile oluşturmanız gerekir.

Kaynak MySQL sunucusunu yapılandırma

Aşağıdaki adımlar, kaynak olarak davranan MySQL için Azure Veritabanı Esnek Sunucu örneğini hazırlar ve yapılandırılır.

  1. Ağ Gereksinimleri

    Kaynak ve çoğaltma sunucusunun sorunsuz bir şekilde iletişim kurabilmesi için ağ ayarlarınızın belirlendiğinden emin olun.
    Kaynak sunucu genel erişimdeyse, güvenlik duvarı kurallarının çoğaltma sunucusu IP adresine izin verin. Çoğaltma sunucusu Azure'da barındırılıyorsa lütfen Azure portalındaki ağ sayfasından herhangi bir Azure hizmetinden genel erişime izin verme seçeneğini belirlediğinizden emin olun. Kaynak sunucu özel erişimdeyse, çoğaltma sunucusunun sanal ağ eşlemesi veya sanal ağdan sanal ağa VPN ağ geçidi bağlantısı aracılığıyla kaynağa bağlanabildiğinden emin olun.

    Not

    Daha fazla bilgi için - Ağa genel bakış - esnek sunucu MySQL için Azure Veritabanı.

  2. İkili günlük kaydını açma

    Aşağıdaki komutu çalıştırarak kaynakta ikili günlük kaydının etkinleştirilip etkinleştirilmediğini denetleyin:

    SHOW VARIABLES LIKE 'log_bin';
    

    log_bin değişkeni 'ON' değeriyle döndürülürse, sunucunuzda ikili günlük etkinleştirilir.

  3. Yeni bir çoğaltma rolü oluşturma ve izin ayarlama

    Yapılandırılan kaynak sunucuda çoğaltma ayrıcalıklarıyla bir kullanıcı hesabı oluşturun. Bu, SQL komutları veya MySQL Workbench gibi bir araç aracılığıyla yapılabilir. Kullanıcı oluşturulurken bunun belirtilmesi gerekeceği için SSL ile çoğaltmayı planlayıp planlamayabileceğinizi düşünün. Kaynak sunucunuza kullanıcı hesaplarının nasıl ekleneceğini anlamak için MySQL belgelerine bakın.

    Aşağıdaki komutlarda, yeni çoğaltma rolü kaynağa yalnızca kaynağı barındıran makineden değil, herhangi bir makineden erişebilir. Bu, create user komutunda "syncuser@'%'" belirtilerek yapılır. Hesap adlarını ayarlama hakkında daha fazla bilgi edinmek için MySQL belgelerine bakın.

    Hesap adlarını ayarlamak için kullanabileceğiniz birkaç araç vardır. Ortamınıza en uygun olanı seçin.

SSL ile çoğaltma

Tüm kullanıcı bağlantıları için SSL istemek için aşağıdaki komutu kullanarak bir kullanıcı oluşturun:

CREATE USER 'syncuser'@'%' IDENTIFIED BY 'yourpassword';
GRANT REPLICATION SLAVE ON *.* TO ' syncuser'@'%' REQUIRE SSL;

SSL olmadan çoğaltma

Tüm bağlantılar için SSL gerekli değilse, kullanıcı oluşturmak için aşağıdaki komutu kullanın:

CREATE USER 'syncuser'@'%' IDENTIFIED BY 'yourpassword';
GRANT REPLICATION SLAVE ON *.* TO ' syncuser'@'%';

Kaynak sunucunun dökümünü alıp geri yükleyin.

Yeni oluşturulan ve çoğaltmaya geçirecek verileri olmayan bir kaynak sunucuysa bu bölümü atlayın. Bu noktada tabloların kilidini açabilirsiniz:

SET GLOBAL read_only = OFF;
UNLOCK TABLES;

Kaynak sunucuda çoğaltmaya geçirılacak veriler varsa aşağıdaki adımları izleyin.

  1. Hangi veritabanlarını ve tabloları MySQL için Azure Veritabanı Esnek Sunucu'ya çoğaltmak istediğinizi belirleyin ve kaynak sunucudan dökümü gerçekleştirin. Mysqldump kullanarak birincil sunucunuzdan veritabanlarını döküm edebilirsiniz. Diğer ayrıntılar için Döküm ve Geri Yükleme'yi ziyaret edin. MySQL kitaplığının ve test kitaplığının dökümünü almak gereksizdir.

  2. Kaynak sunucuyu okuma/yazma moduna ayarlayın.

Veritabanının dökümünü aldıktan sonra kaynak MySQL için Azure Veritabanı Esnek Sunucu örneğini okuma/yazma moduna geçirin.

SET GLOBAL read_only = OFF;
UNLOCK TABLES;
  1. Döküm dosyasını yeni sunucuya geri yükleyin. Döküm dosyasını MySQL için Azure Veritabanı Esnek Sunucuda oluşturulan sunucuya geri yükleyin. Döküm dosyasını MySQL için Azure Veritabanı Esnek Sunucu örneğine geri yüklemek için Döküm ve Geri Yükleme bölümüne bakın. Döküm dosyası büyükse, çoğaltma sunucunuzla aynı bölgedeki Azure'daki bir sanal makineye yükleyin. Sanal makineden MySQL için Azure Veritabanı Esnek Sunucu örneğine geri yükleyin.

Not

Dökümü alıp geri yüklerken veritabanını salt okunur olarak ayarlamaktan kaçınmak istiyorsanız mydumper/myloader komutunu kullanabilirsiniz.

Çoğaltma sunucusunu Veri çıkışı çoğaltmasını başlatacak şekilde yapılandırın.

  1. Filtreleme

    MySQL için Azure Veritabanı Esnek Sunucu ile diğer bulut sağlayıcılarında veya şirket içi ortamdaki bir dış MySQL arasında veri çıkışı çoğaltması ayarlandığını varsayalım. Bu durumda çoğaltma sunucusundaki Azure özel tablolarını filtrelemek için çoğaltma filtresini kullanmanız gerekir. Bu, MySQL için Azure Veritabanı Esnek Sunucu mysql iç tablolarını filtrelemek için Replicate_Wild_Ignore_Table = "%mysql.__" ayarıyla elde edilebilir. Bu sunucu parametresini değiştirme hakkında daha fazla bilgi için Bkz. MySQL :: MySQL 5.7 Başvuru Kılavuzu :: 13.4.2.2 DEĞİşTİrME FİlTRESİ Deyimi .

  2. Çoğaltma sunucusuna bağlanarak ve çoğaltma sunucusunda MySQL kabuğunu açarak çoğaltma sunucusunu ayarlayın. İstemden, aynı anda birkaç MySQL çoğaltma ayarlarını yapılandıran aşağıdaki işlemi çalıştırın:

    CHANGE THE REPLICATION SOURCE TO
    SOURCE_HOST='<master_host>',
    SOURCE_USER='<master_user>',
    SOURCE_PASSWORD='<master_password>',
    SOURCE_LOG_FILE='<master_log_file>',
    SOURCE_LOG_POS=<master_log_pos>
    
    • master_host: Kaynak sunucunun ana bilgisayar adı (örnek – 'source.mysql.database.Azure.com')
    • master_user: kaynak sunucu için kullanıcı adı (örnek - 'syncuser'@'%')
    • master_password: Kaynak sunucu için parola
    • master_log_file: çalışan ikili günlük dosyası adı ana durumu göster
    • master_log_pos: çalıştırılan ikili günlük konumu ana durumu göster

    Not

    Bağlantı için SSL kullanmak için komutuna SOURCE_SSL=1 özniteliğini ekleyin. Çoğaltma bağlamında SSL kullanma hakkında daha fazla bilgi için- https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html

  3. Aşağıdaki komutu kullanarak çoğaltma sunucusunu etkinleştirin.

    START REPLICA;
    

    Bu noktada, çoğaltma örneği kaynak sunucu veritabanında yapılan değişiklikleri çoğaltmaya başlar. Kaynak veritabanınızda örnek bir tablo oluşturup başarıyla çoğaltılıp çoğaltılmadığını denetleyerek bunu test edebilirsiniz.

  4. Çoğaltma durumunu denetleyin.

    Çoğaltma durumunu görüntülemek için çoğaltma sunucusunda show slave status\G komutunu çağırın.

     show slave status;
    

    Slave_IO_Running ve Slave_SQL_Running durumu ve Seconds_Behind_Master yes değeri ise 0çoğaltma düzgün çalışıyordur. Seconds_Behind_Master çoğaltmanın ne kadar geç olduğunu gösterir. Değer değilse çoğaltma güncelleştirmeleri işliyordur 0.

    Çoğaltma sunucusu bir Azure VM'de barındırılıyorsa kaynak ve çoğaltma sunucularının iletişim kurmasına izin vermek için Kaynakta Azure hizmetlerine erişime izin ver seçeneğini ON olarak ayarlayın. Bu ayar, bağlantı güvenliği seçeneklerinden değiştirilebilir. Daha fazla bilgi için Portalı kullanarak güvenlik duvarı kurallarını yönetme makalesini ziyaret edin.

    Veritabanının dökümünü almak için mydumper/myloader kullandıysanız /backup/metadata dosyasından master_log_file ve master_log_pos alabilirsiniz.

Sonraki adım