mydumper/myloader kullanarak büyük veritabanlarını MySQL için Azure Veritabanı'na geçirme

Dikkat

Bu makalede, Kullanım Süresi Sonu (EOL) durumuna yakın bir Linux dağıtımı olan CentOS'a başvuruda bulunur. Lütfen kullanımınızı ve buna uygun planlamayı göz önünde bulundurun. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.

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

MySQL için Azure Veritabanı, bulutta yüksek kullanılabilirlikte MySQL veritabanları çalıştırmak, yönetmek ve ölçeklendirmek için kullanılan yönetilen bir hizmettir. 1 TB'tan büyük MySQL veritabanlarını MySQL için Azure Veritabanı geçirmek için, aşağıdaki avantajları sağlayan mydumper/myloader gibi topluluk araçlarını kullanmayı göz önünde bulundurun:

  • Geçiş süresini azaltmaya yardımcı olmak için paralellik.
  • Pahalı karakter kümesi dönüştürme yordamlarından kaçınarak daha iyi performans.
  • Verileri görüntülemeyi/ayrıştırmayı kolaylaştıran tablolar, meta veriler vb. için ayrı dosyalar içeren bir çıkış biçimi. Tüm iş parçacıklarında anlık görüntü tutarak tutarlılık.
  • Doğru birincil ve çoğaltma günlüğü konumları.
  • Veritabanı ve tablo eklemelerini ve dışlamalarını belirtmek için Perl Uyumlu Normal İfadeler'i (PCRE) desteklediği için kolay yönetim.
  • Şema ve veriler bir araya gelir. Diğer mantıksal geçiş araçları gibi ayrı ayrı işlemeniz gerekmez.

Bu hızlı başlangıçta mydumper/myloader kullanarak mySQL veritabanını yükleme, yedekleme ve geri yükleme işlemleri gösterilmektedir.

Önkoşullar

MySQL veritabanınızı geçirmeden önce şunları yapmanız gerekir:

  1. Azure portalını kullanarak bir MySQL için Azure Veritabanı sunucusu oluşturun.

  2. Azure portalını (tercihen Ubuntu) kullanarak Linux çalıştıran bir Azure VM oluşturun.

    Not

    Araçları yüklemeden önce aşağıdaki noktaları göz önünde bulundurun:

    • Kaynağınız şirket içindeyse ve Azure'a yüksek bant genişliği bağlantısına sahipse (ExpressRoute kullanarak), aracı azure vm'sine yüklemeyi göz önünde bulundurun.
    • Kaynak ve hedef arasındaki bant genişliğiyle ilgili bir sorun varsa mydumper'ı kaynağa ve myloader'ı hedef sunucunun yakınına yüklemeyi göz önünde bulundurun. Azcopy araçlarını kullanarak verileri şirket içinden veya diğer bulut çözümlerinden Azure'a taşıyabilirsiniz.
  3. mysql istemcisini yükleyin, aşağıdaki adımları uygulayın:

  • Aşağıdaki komutu çalıştırarak Linux çalıştıran Azure VM'sinde paket dizinini güncelleştirin:
sudo apt update
  • Aşağıdaki komutu çalıştırarak mysql istemci paketini yükleyin:
sudo apt install mysql-client

mydumper/myloader yükleme

mydumper/myloader'ı yüklemek için aşağıdaki adımları uygulayın.

  1. İşletim sistemi dağıtımınıza bağlı olarak, aşağıdaki komutu çalıştırarak mydumper/myloader için uygun paketi indirin:

    wget https://github.com/maxbube/mydumper/releases/download/v0.10.1/mydumper_0.10.1-2.$(lsb_release -cs)_amd64.deb
    

    Not

    $(lsb_release -cs), dağıtımınızın tanımlanmasına yardımcı olur.

  2. mydumper için .deb paketini yüklemek için aşağıdaki komutu çalıştırın:

    sudo dpkg -i mydumper_0.10.1-2.$(lsb_release -cs)_amd64.deb
    

    İpucu

    Paketi yüklemek için kullandığınız komut, yükleyiciler farklı olduğundan sahip olduğunuz Linux dağıtımına göre farklılık gösterir. Mydumper/myloader Fedora, RedHat , Ubuntu, Debian, CentOS, openSUSE ve MacOSX dağıtımları için kullanılabilir. Daha fazla bilgi için bkz . Mydumper'ı yükleme

mydumper kullanarak yedekleme oluşturma

  • mydumper kullanarak yedekleme oluşturmak için aşağıdaki komutu çalıştırın:

    mydumper --host=<servername> --user=<username> --password=<Password> --outputdir=./backup --rows=100000 --compress --build-empty-files --threads=16 --compress-protocol --trx-consistency-only --ssl  --regex '^(<Db_name>\.)' -L mydumper-logs.txt
    

Bu komut aşağıdaki değişkenleri kullanır:

  • --host: Bağlanacak konak

  • --user: Gerekli ayrıcalıklara sahip kullanıcı adı

  • --password: Kullanıcı parolası

  • --rows: Tabloları bu kadar çok satırın öbeklerine bölmeyi deneyin

  • --outputdir: Çıkış dosyalarının dökümünü almak için dizin

  • --regex: Veritabanı eşleştirme için normal ifade.

  • --trx-consistency-only: Yalnızca işlem tutarlılığı

  • --threads: Kullanılacak iş parçacığı sayısı, varsayılan 4. Bilgisayarın sanal çekirdeğinin 2x'ine eşit bir değer kullanılması önerilir.

    Not

    Diğer seçenekler hakkında daha fazla bilgi için mydumper ile kullanabilirsiniz, şu komutu çalıştırın: mydumper --help . Daha fazla ayrıntı için bkz . mydumper\myloader belgeleri
    Birden çok veritabanını paralel olarak döküm etmek için, örnekte gösterildiği gibi regex değişkenini değiştirebilirsiniz: regex '^(DbName1.|DbName2.)

Myloader kullanarak veritabanınızı geri yükleme

  • mydumper kullanarak yedeklediğiniz veritabanını geri yüklemek için aşağıdaki komutu çalıştırın:

    myloader --host=<servername> --user=<username> --password=<Password> --directory=./backup --queries-per-transaction=500 --threads=16 --compress-protocol --ssl --verbose=3 -e 2>myloader-logs.txt
    

Bu komut aşağıdaki değişkenleri kullanır:

  • --host: Bağlanacak konak
  • --user: Gerekli ayrıcalıklara sahip kullanıcı adı
  • --password: Kullanıcı parolası
  • --directory: Yedeklemenin depolandığı konum.
  • --queries-per-transaction: 500'den fazla olmayan bir değere ayar önerme
  • --threads: Kullanılacak iş parçacığı sayısı, varsayılan 4. Bilgisayarın sanal çekirdeğinin 2x'ine eşit bir değer kullanılması önerilir

İpucu

Myloader ile kullanabileceğiniz diğer seçenekler hakkında daha fazla bilgi için şu komutu çalıştırın: myloader --help

Veritabanı geri yüklendikten sonra, kaynak ve hedef veritabanları arasındaki veri tutarlılığının doğrulanması her zaman önerilir.

Not

Mydumper/myloader araçlarıyla ilgili sorunları veya geri bildirimleri buraya gönderin.

Sonraki adımlar