Sdílet prostřednictvím


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:

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 spustit mysql_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žnost single-transaction a možnost lock-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, zkombinujte single-transaction možnost s quick 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.

Screenshot of the Overview pane for an Azure database for MariaDB server in the Azure portal.

V aplikaci MySQL Workbench přidejte informace o připojení.

Screenshot of the MySQL Connections pane in MySQL Workbench.

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:

  1. Otevřete phpMy Správa.
  2. V levém podokně vyberte databázi a pak vyberte odkaz Exportovat . Zobrazí se nová stránka s výpisem paměti databáze.
  3. V oblasti Export vyberte odkaz Vybrat vše a zvolte tabulky v databázi.
  4. V oblasti možností SQL vyberte příslušné možnosti.
  5. 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ě:

  1. Otevřete phpMy Správa.
  2. Na stránce nastavení phpMy Správa vyberte Přidat a přidejte server Azure Database for MariaDB.
  3. Zadejte podrobnosti o připojení a přihlašovací údaje.
  4. 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.
  5. Výběrem odkazu SQL zobrazíte stránku, na které můžete zadat příkazy SQL nebo nahrát soubor SQL.
  6. Vyberte tlačítko procházet a vyhledejte soubor databáze.
  7. Výběrem tlačítka Přejít exportujte zálohu, spusťte příkazy SQL a znovu vytvořte databázi.

Další kroky