Migrace velkých databází do služby Azure Database for MySQL s využitím nástrojů MyDumper a MyLoader

PLATÍ PRO: Flexibilní server Azure Database for MySQL – Jednoúčelový server Azure Database for MySQL

Azure Database for MySQL je spravovaná služba, která slouží k provozu, správě a škálování vysoce dostupných databází MySQL v cloudu. Pokud chcete migrovat databáze MySQL větší než 1 TB do Služby Azure Database for MySQL, zvažte použití komunitních nástrojů, jako je mydumper/myloader, které poskytují následující výhody:

  • Paralelismus, který pomáhá zkrátit dobu migrace.
  • Lepší výkon díky tomu, že se vyhnete drahým rutinám převodu znakové sady.
  • Výstupní formát s samostatnými soubory pro tabulky, metadata atd., který usnadňuje zobrazení a analýzu dat. Konzistence díky zachování snímku napříč všemi vlákny
  • Přesné pozice protokolu primární a repliky.
  • Snadná správa, protože podporují regulární výrazy kompatibilní s perl (PCRE) pro určení zahrnutí a vyloučení databází a tabulek.
  • Schéma a data se schází dohromady. Nemusíte je zpracovávat samostatně jako jiné nástroje pro logickou migraci.

V tomto rychlém startu se dozvíte, jak nainstalovat, zálohovat a obnovit databázi MySQL pomocí nástroje mydumper/myloader.

Požadavky

Než začnete migrovat databázi MySQL, musíte:

  1. Pomocí webu Azure Portal vytvořte server Azure Database for MySQL.

  2. Vytvořte virtuální počítač Azure s Linuxem pomocí webu Azure Portal (nejlépe Ubuntu).

    Poznámka:

    Před instalací nástrojů zvažte následující body:

    • Pokud je váš zdroj místní a má připojení k Azure s velkou šířkou pásma (pomocí ExpressRoute), zvažte instalaci nástroje na virtuální počítač Azure.
    • Pokud máte výzvu v šířce pásma mezi zdrojem a cílem, zvažte instalaci mydumper u zdroje a zavaděče blízko cílového serveru. K přesunu dat z místních nebo jiných cloudových řešení do Azure můžete použít nástroje Azcopy.
  3. Nainstalujte klienta mysql, proveďte následující kroky:

  • Aktualizujte index balíčků na virtuálním počítači Azure s Linuxem spuštěním následujícího příkazu:
sudo apt update
  • Nainstalujte balíček klienta mysql spuštěním následujícího příkazu:
sudo apt install mysql-client

Instalace souboru mydumper/myloader

Pokud chcete nainstalovat mydumper/myloader, postupujte následovně.

  1. V závislosti na distribuci operačního systému stáhněte příslušný balíček pro mydumper/myloader a spusťte následující příkaz:

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

    Poznámka:

    $(lsb_release -cs) pomáhá identifikovat vaši distribuci.

  2. Pokud chcete nainstalovat balíček .deb pro mydumper, spusťte následující příkaz:

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

    Tip

    Příkaz, který použijete k instalaci balíčku, se bude lišit v závislosti na distribuci Linuxu, kterou máte, protože instalační programy se liší. Mydumper/myloader je k dispozici pro následující distribuce Fedora, RedHat , Ubuntu, Debian, openSUSE a MacOSX. Další informace naleznete v tématu Instalace nástroje mydumper

Vytvoření zálohy pomocí nástroje mydumper

  • Pokud chcete vytvořit zálohu pomocí nástroje mydumper, spusťte následující příkaz:

    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
    

Tento příkaz používá následující proměnné:

  • --host: Hostitel, ke kterému se chcete připojit

  • --user: Uživatelské jméno s potřebnými oprávněními

  • --password: Uživatelské heslo

  • --rows: Pokuste se rozdělit tabulky na bloky tohoto počtu řádků.

  • --outputdir: Adresář pro výpis výstupních souborů do

  • --regex: Regulární výraz pro porovnávání databáze.

  • --trx-consistency-only: Pouze transakční konzistence

  • --threads: Počet vláken, která se mají použít, výchozí 4. Doporučujeme použít hodnotu rovnající se 2x virtuálnímu jádru počítače.

    Poznámka:

    Další informace o dalších možnostech můžete použít s mydumper, spusťte následující příkaz: mydumper --help . Další podrobnosti najdete v dokumentaci k mydumper\myloader
    Pokud chcete zobrazit výpis více databází paralelně, můžete upravit proměnnou regex, jak je znázorněno v příkladu: regex ^(DbName1.|DbName2.)

Obnovení databáze pomocí myloaderu

  • Pokud chcete obnovit databázi, kterou jste zálohovali pomocí nástroje mydumper, spusťte následující příkaz:

    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
    

Tento příkaz používá následující proměnné:

  • --host: Hostitel, ke kterému se chcete připojit
  • --user: Uživatelské jméno s potřebnými oprávněními
  • --password: Uživatelské heslo
  • --directory: Umístění, kde je záloha uložená.
  • --queries-per-transaction: Doporučujeme nastavit hodnotu ne více než 500
  • --threads: Počet vláken, která se mají použít, výchozí 4. Doporučuje se použít hodnotu rovnající se 2x virtuálnímu jádru počítače.

Tip

Další informace o dalších možnostech, které můžete použít s myloaderem, spusťte následující příkaz: myloader --help

Po obnovení databáze se vždy doporučuje ověřit konzistenci dat mezi zdrojem a cílovými databázemi.