mydumper/myloader kullanarak büyük veritabanlarını MySQL için Azure Veritabanı'na geçirme
Ş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:
Azure portalını kullanarak bir MySQL için Azure Veritabanı sunucusu oluşturun.
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.
- 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.
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.
İş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.
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, 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.
İlgili içerik
- GitHub'da mydumper/myloader projesi
- büyük MySQL veritabanlarını geçirme
- MySQL için Azure Veritabanı – Tek Sunucudan MySQL için Azure Veritabanı Esnek Sunucuya Minimum Kapalı Kalma Süresi Geçişi
- Verileri MySQL için Azure Veritabanı Esnek Sunucuya çoğaltma
- Esnek Sunucu Verileri MySQL için Azure Veritabanı çoğaltmayı yapılandırma
- geçiş hataları