Migrace databáze MariaDB do služby Azure Database for MariaDB pomocí výpisu a obnovení
Důležité
Azure Database for MariaDB je na cestě vyřazení. Důrazně doporučujeme migrovat do služby Azure Database for MySQL. Další informace o migraci na Azure Database for MySQL najdete v tématu Co se děje se službou Azure Database for MariaDB?.
Tento článek vysvětluje dva běžné způsoby zálohování a obnovení databází ve službě Azure Database for MariaDB:
- Výpis a obnovení pomocí nástroje příkazového řádku (pomocí mysqldump).
- Výpis a obnovení pomocí phpMy Správa
Požadavky
Než začnete migrovat databázi, udělejte toto:
- Vytvoření serveru Azure Database for MariaDB – Azure Portal
- Nainstalujte nástroj příkazového řádku mysqldump .
- Stáhněte a nainstalujte aplikaci MySQL Workbench nebo jiný nástroj MySQL jiného výrobce pro spouštění příkazů výpisu a obnovení.
Použití běžných nástrojů
Pomocí běžných nástrojů a nástrojů, jako je MySQL Workbench nebo mysqldump, můžete vzdáleně připojit a obnovit data do databáze Azure for MariaDB. Pomocí těchto nástrojů na klientském počítači s připojením k internetu se připojte k databázi Azure database for MariaDB. Osvědčeným postupem zabezpečení je použití šifrovaného připojení SSL. Další informace najdete v tématu Konfigurace připojení SSL ve službě Azure Database for MariaDB. Při migraci dat do databáze Azure for MariaDB nemusíte soubory výpisu paměti přesouvat do žádného speciálního cloudového umístění.
Běžné použití pro výpis a obnovení
Pomocí nástrojů MySQL, jako jsou mysqldump a mysqlpump, můžete v několika běžných scénářích vypisovat a načítat databáze do serveru Azure Database for MariaDB.
Při migraci celé databáze používejte výpisy paměti databáze. Toto doporučení platí, když přesouváte velké množství dat nebo když chcete minimalizovat přerušení služeb pro živé weby nebo aplikace.
Při načítání dat do databáze Azure for MariaDB se ujistěte, že všechny tabulky v databázi používají modul úložiště InnoDB. Azure Database for MariaDB podporuje pouze modul úložiště InnoDB a žádné jiné úložné moduly. Pokud jsou vaše tabulky nakonfigurované s jinými moduly úložiště, před migrací do databáze Azure for MariaDB je převeďte do formátu modulu InnoDB.
Pokud máte například aplikaci WordPress nebo webovou aplikaci, která používá tabulky MyISAM, nejprve tyto tabulky převeďte migrací do formátu InnoDB předtím, než je obnovíte do služby Azure Database for MariaDB. Pomocí klauzule
ENGINE=InnoDB
nastavte modul tak, aby používal k vytvoření nové tabulky, a potom před obnovením přeneste data do kompatibilní tabulky.INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns
Abyste se vyhnuli problémům s kompatibilitou při dumpingu databází, ujistěte se, že používáte stejnou verzi MariaDB ve zdrojových a cílových systémech. Pokud je váš existující server MariaDB verze 10.2, měli byste migrovat do databáze Azure for MariaDB, která je nakonfigurovaná tak, aby běžela verze 10.2. Příkaz
mysql_upgrade
nefunguje na serveru Azure Database for MariaDB a nepodporuje se. Pokud potřebujete upgradovat napříč verzemi MariaDB, nejprve vyexportujte nebo vyexportujte databázi starší verze do novější verze MariaDB ve vlastním prostředí. Potom můžete spustitmysql_upgrade
před pokusem o migraci do databáze Azure database for MariaDB.
Důležité informace o výkonu
Pokud chcete optimalizovat výkon při ukládání velkých databází, mějte na paměti následující aspekty:
- Použijte možnost
exclude-triggers
v mysqldump. Vylučte triggery ze souborů výpisu paměti, abyste se vyhnuli aktivaci příkazů triggeru během obnovení dat. single-transaction
Pomocí možnosti nastavit režim izolace transakce na REPEATABLE READ a odeslat START TRANSACTION SQL příkaz na server před výpisem dat. Dumping mnoho tabulek v rámci jedné transakce způsobí, že během obnovení bude spotřebováno některé další úložiště. Možnostsingle-transaction
a možnostlock-tables
se vzájemně vylučují. Důvodem je to, že LOCK TABLES způsobí, že všechny čekající transakce budou potvrzeny implicitně. Pokud chcete vyhodit velké tabulky, zkombinujtesingle-transaction
možnost squick
možností.extended-insert
Použijte syntaxi s více řádky, která obsahuje několik seznamů HODNOTA. Výsledkem tohoto přístupu je menší soubor s výpisem paměti a zrychlí se vkládání při opětovném načtení souboru.order-by-primary
Tuto možnost použijte v mysqldump při dumpingu databází, aby se data skriptovala v pořadí primárního klíče.disable-keys
Pokud chcete před načtením zakázat omezení cizího klíče, použijte možnost v mysqldump při dumpingu dat. Zakázání kontrol cizích klíčů pomáhá zlepšit výkon. Povolte omezení a ověřte data po načtení, abyste zajistili referenční integritu.- V případě potřeby používejte dělené tabulky.
- Načtěte data paralelně. Vyhněte se příliš mnoho paralelismu, což by mohlo způsobit dosažení limitu prostředků a monitorování prostředků pomocí metrik dostupných na webu Azure Portal.
defer-table-indexes
Tuto možnost použijte v mysqlpump při dumpingu databází, takže vytvoření indexu proběhne po načtení dat tabulky.- Zkopírujte záložní soubory do úložiště objektů blob Azure a proveďte obnovení odtud. Tento přístup by měl být mnohem rychlejší než provádění obnovení přes internet.
Vytvoření záložního souboru
Pokud chcete zálohovat existující databázi MariaDB na místním místním serveru nebo na virtuálním počítači, spusťte pomocí mysqldump následující příkaz:
mysqldump --opt -u <uname> -p<pass> <dbname> > <backupfile.sql>
Parametry, které se mají poskytnout, jsou:
- <uname>: Vaše uživatelské jméno databáze
- <pass>: Heslo pro vaši databázi (všimněte si, že mezi -p a heslem není mezera)
- <dbname>: Název databáze
- <backupfile.sql>: Název souboru pro zálohování databáze
- <--opt>: Možnost mysqldump
Pokud například chcete zálohovat databázi s názvem testdb na serveru MariaDB s uživatelským jménem testuser a bez hesla k souboru testdb_backup.sql, použijte následující příkaz. Příkaz zálohuje testdb
databázi do souboru s názvem testdb_backup.sql
, který obsahuje všechny příkazy SQL potřebné k opětovnému vytvoření databáze.
mysqldump -u root -p testdb > testdb_backup.sql
Pokud chcete vybrat konkrétní tabulky, které se mají zálohovat v databázi, uveďte názvy tabulek oddělené mezerami. Pokud například chcete zálohovat pouze tabulky 1 a tabulky table2 z testdb, postupujte takto:
mysqldump -u root -p testdb table1 table2 > testdb_tables_backup.sql
Pokud chcete zálohovat více než jednu databázi najednou, použijte přepínač --database a seznam názvů databází oddělených mezerami.
mysqldump -u root -p --databases testdb1 testdb3 testdb5 > testdb135_backup.sql
Vytvoření databáze na cílovém serveru
Vytvořte prázdnou databázi na cílovém serveru Azure Database for MariaDB, do kterého chcete migrovat data. K vytvoření databáze použijte nástroj, jako je MySQL Workbench. Databáze může mít stejný název jako databáze, která obsahuje výpis dat, nebo můžete vytvořit databázi s jiným názvem.
Pokud se chcete připojit, vyhledejte informace o připojení v podokně Přehled databáze Azure for MariaDB.
V aplikaci MySQL Workbench přidejte informace o připojení.
Obnovení databáze MariaDB
Po vytvoření cílové databáze můžete pomocí příkazu mysql nebo Aplikace MySQL Workbench obnovit data do nově vytvořené databáze ze souboru s výpisem paměti.
mysql -h <hostname> -u <uname> -p<pass> <db_to_restore> < <backupfile.sql>
V tomto příkladu obnovíte data do nově vytvořené databáze na cílovém serveru Azure Database for MariaDB.
mysql -h mydemoserver.mariadb.database.azure.com -u myadmin@mydemoserver -p testdb < testdb_backup.sql
Export databáze MariaDB pomocí phpMy Správa
K exportu můžete použít běžný nástroj phpMy Správa, který už může být ve vašem prostředí nainstalovaný místně. Pokud chcete exportovat databázi MariaDB, postupujte takto:
- Otevřete phpMy Správa.
- V levém podokně vyberte databázi a pak vyberte odkaz Exportovat . Zobrazí se nová stránka s výpisem paměti databáze.
- V oblasti Export vyberte odkaz Vybrat vše a zvolte tabulky v databázi.
- V oblasti možností SQL vyberte příslušné možnosti.
- Vyberte možnost Uložit jako soubor a odpovídající možnost komprese a pak vyberte Přejít. Na příkazovém řádku uložte soubor místně.
Import databáze pomocí phpMy Správa
Proces importu je podobný procesu exportu. Postupujte následovně:
- Otevřete phpMy Správa.
- Na stránce nastavení phpMy Správa vyberte Přidat a přidejte server Azure Database for MariaDB.
- Zadejte podrobnosti o připojení a přihlašovací údaje.
- Vytvořte správně pojmenovanou databázi a pak ji vyberte v levém podokně. Chcete-li přepsat existující databázi, vyberte název databáze, zaškrtněte všechna políčka vedle názvů tabulek a výběrem klávesy Drop odstraňte existující tabulky.
- Výběrem odkazu SQL zobrazíte stránku, na které můžete zadat příkazy SQL nebo nahrát soubor SQL.
- Vyberte tlačítko procházet a vyhledejte soubor databáze.
- Výběrem tlačítka Přejít exportujte zálohu, spusťte příkazy SQL a znovu vytvořte databázi.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro