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:
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: 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.
Poznámka:
Sem odešlete jakékoli problémy nebo zpětnou vazbu týkající se nástrojů mydumper/myloader.
Související obsah
- mydumper/myloader project in GitHub
- jak migrovat velké databáze MySQL
- Minimální migrace výpadků služby Azure Database for MySQL – jednoúčelový server na flexibilní server Azure Database for MySQL
- Replikace dat na flexibilní server Azure Database for MySQL
- Konfigurace replikace dat flexibilního serveru Azure Database for MySQL
- chyby migrace