Migrace velkých databází do služby Azure Database for MySQL s využitím nástrojů MyDumper a MyLoader
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:
Pomocí webu Azure Portal vytvořte server Azure Database for MySQL.
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.
- 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.
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ě.
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.
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: Zkuste 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í, kam je záloha uložená.
- -queries-per-transaction: Doporučit nastavení na 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.
Poznámka:
Sem odešlete jakékoli problémy nebo zpětnou vazbu týkající se nástrojů mydumper/myloader.