MariaDB-adatbázis migrálása MariaDB-hez készült Azure-adatbázisba biztonsági mentés és visszaállítás használatával

Fontos

Az Azure Database for MariaDB a nyugdíjazási útvonalon van. Határozottan javasoljuk, hogy migráljon az Azure Database for MySQL-be. További információ az Azure Database for MySQL-be való migrálásról: Mi történik az Azure Database for MariaDB-vel?

Ez a cikk két gyakori módszert ismertet az adatbázisok biztonsági mentésére és visszaállítására az Azure Database for MariaDB-ben:

  • Memóriakép és visszaállítás parancssori eszközzel (mysqldump használatával).
  • Memóriakép és visszaállítás phpMy Rendszergazda használatával.

Előfeltételek

Mielőtt megkezdené az adatbázis migrálását, tegye a következőket:

Gyakori eszközök használata

Az olyan gyakori segédprogramok és eszközök, mint a MySQL Workbench vagy a mysqldump használatával távolról csatlakoztathatja és visszaállíthatja az adatokat a MariaDB-hez készült Azure-adatbázisba. Használja ezeket az eszközöket az ügyfélgépen internetkapcsolattal az Azure Database for MariaDB-hez való csatlakozáshoz. Ajánlott biztonsági eljárásként SSL-titkosítással ellátott kapcsolatot használjon. További információ: SSL-kapcsolat konfigurálása az Azure Database for MariaDB-ben. Nem kell áthelyeznie a memóriaképfájlokat semmilyen speciális felhőbeli helyre, amikor adatokat migrál az Azure Database for MariaDB-be.

A memóriakép és a visszaállítás gyakori felhasználási módjai

A MySQL-segédprogramok, például a mysqldump és a mysqlpump használatával több gyakori forgatókönyv esetén is létrehozhat és betölthet adatbázisokat egy Azure-adatbázis for MariaDB-kiszolgálóba.

  • Adatbázis-memóriaképek használata egy teljes adatbázis áttelepítésekor. Ez a javaslat nagy mennyiségű adat áthelyezésekor vagy az élő webhelyek vagy alkalmazások szolgáltatáskimaradásának minimalizálása esetén érvényes.

  • Győződjön meg arról, hogy az adatbázis összes táblája az InnoDB-tárolómotort használja, amikor adatokat tölt be a MariaDB-hez készült Azure-adatbázisba. Az Azure Database for MariaDB csak az InnoDB-tárolómotort támogatja, más tárolómotorokat nem. Ha a táblák más tárolómotorokkal vannak konfigurálva, konvertálja őket InnoDB-motorformátumba, mielőtt migrálja őket az Azure Database for MariaDB-be.

    Ha például egy WordPress-alkalmazással vagy egy MyISAM-táblákat használó webalkalmazással rendelkezik, először konvertálja ezeket a táblákat innoDB formátumban, mielőtt visszaállítja őket az Azure-adatbázisba a MariaDB-hez. A záradék ENGINE=InnoDB használatával állítsa be a motort egy új tábla létrehozásához, majd a visszaállítás előtt vigye át az adatokat a kompatibilis táblába.

    INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns
    
  • Az adatbázisok memóriaképe során felmerülő kompatibilitási problémák elkerülése érdekében győződjön meg arról, hogy a MariaDB ugyanazon verzióját használja a forrás- és célrendszereken. Ha például a meglévő MariaDB-kiszolgáló 10.2-es verziójú, akkor a 10.2-es verzió futtatására konfigurált Azure Database for MariaDB-adatbázisba kell migrálnia. A mysql_upgrade parancs nem működik az Azure Database for MariaDB-kiszolgálón, és nem támogatott. Ha több MariaDB-verzióra is frissítenie kell, először a korábbi verziójú adatbázist a saját környezetében, a MariaDB egy későbbi verziójába kell exportálnia. Ezután futhat mysql_upgrade , mielőtt megpróbálna migrálni a MariaDB-hez készült Azure-adatbázisba.

A teljesítménnyel kapcsolatos megfontolások

A nagy adatbázisok memóriaképekor a teljesítmény optimalizálásához tartsa szem előtt az alábbi szempontokat:

  • Használja a exclude-triggers mysqldump lehetőséget. Zárja ki az eseményindítókat a memóriaképfájlokból, hogy az eseményindító parancsok ne legyenek aktiválva az adat-visszaállítás során.
  • Ezzel a single-transaction beállítással a tranzakcióelkülönítési módot ismételhető olvasásra állíthatja, és elküldhet egy START TRANSACTION SQL-utasítást a kiszolgálónak az adatok memóriaképe előtt. Ha egyetlen tranzakción belül sok táblát dob ki, akkor a visszaállítás során némi extra tárterületet kell használnia. A single-transaction lehetőség és a lock-tables lehetőség kölcsönösen kizáróak. Ennek az az oka, hogy a LOCK TABLES minden függőben lévő tranzakciót implicit módon véglegesíteni fog. Nagy táblák memóriaképéhez kombinálja a single-transaction beállítást a quick beállítással.
  • Használja a extended-insert többsoros szintaxist, amely több értéklistát is tartalmaz. Ez a módszer kisebb memóriaképfájlt eredményez, és felgyorsítja a beszúrásokat a fájl újratöltésekor.
  • Az adatbázisok memóriaképekor használja a order-by-primary mysqldump lehetőséget, hogy az adatok elsődleges kulcssorrendben lesznek szkriptelve.
  • Az adatok memóriaképe esetén használja a disable-keys mysqldump lehetőséget az idegen kulcsokra vonatkozó korlátozások letiltásához a betöltés előtt. A külső kulcsok ellenőrzésének letiltása segít a teljesítmény javításában. Engedélyezze a korlátozásokat, és ellenőrizze az adatokat a betöltés után a hivatkozási integritás biztosítása érdekében.
  • Szükség esetén használjon particionált táblákat.
  • Adatok betöltése párhuzamosan. Kerülje a túl sok párhuzamosságot, ami erőforráskorlátot eredményezhet, és az Azure Portalon elérhető metrikák használatával figyelheti az erőforrásokat.
  • Használja a defer-table-indexes mysqlpump lehetőséget az adatbázisok memóriaképekor, hogy az index létrehozása a táblaadatok betöltése után történjen.
  • Másolja a biztonsági mentési fájlokat egy Azure-blobtárolóba, és onnan végezze el a visszaállítást. Ennek a megközelítésnek sokkal gyorsabbnak kell lennie, mint a visszaállítás végrehajtása az interneten keresztül.

Biztonsági mentési fájl létrehozása

Ha egy meglévő MariaDB-adatbázisról szeretne biztonsági másolatot készíteni a helyi helyszíni kiszolgálón vagy egy virtuális gépen, futtassa a következő parancsot a mysqldump használatával:

mysqldump --opt -u <uname> -p<pass> <dbname> > <backupfile.sql>

A megadni kívánt paraméterek a következők:

  • <uname>: Az adatbázis felhasználóneve
  • <pass>: Az adatbázis jelszava (vegye figyelembe, hogy a -p és a jelszó között nincs szóköz)
  • <dbname>: Az adatbázis neve
  • <backupfile.sql>: Az adatbázis biztonsági mentésének fájlneve
  • <--opt>: A mysqldump lehetőség

Ha például egy testdb nevű adatbázisról szeretne biztonsági másolatot készíteni a MariaDB-kiszolgálón a felhasználónév-tesztelővel, és nincs jelszó egy testdb_backup.sql fájlhoz, használja az alábbi parancsot. A parancs biztonsági másolatot készít az testdb adatbázisról egy úgynevezett testdb_backup.sqlfájlra, amely tartalmazza az adatbázis újbóli létrehozásához szükséges összes SQL-utasítást.

mysqldump -u root -p testdb > testdb_backup.sql

Ha konkrét táblákat szeretne kijelölni, amelyekről biztonsági másolatot szeretne készíteni az adatbázisban, listázhatja a táblák nevét szóközök szerint elválasztva. Ha például csak a table1 és table2 táblákról szeretne biztonsági másolatot készíteni a testdb-ből, kövesse az alábbi példát:

mysqldump -u root -p testdb table1 table2 > testdb_tables_backup.sql

Ha egyszerre több adatbázisról szeretne biztonsági másolatot készíteni, használja az --database kapcsolót, és listázhatja az adatbázisneveket szóközök szerint elválasztva.

mysqldump -u root -p --databases testdb1 testdb3 testdb5 > testdb135_backup.sql

Adatbázis létrehozása a célkiszolgálón

Hozzon létre egy üres adatbázist a cél Azure Database for MariaDB-kiszolgálón, ahol át szeretné telepíteni az adatokat. Az adatbázis létrehozásához használjon olyan eszközt, mint a MySQL Workbench. Az adatbázis neve megegyezhet a dömpingelt adatokat tartalmazó adatbázis nevével, vagy létrehozhat egy másik nevű adatbázist.

A csatlakozáshoz keresse meg a kapcsolati információkat a MariaDB-hez készült Azure-adatbázis Áttekintés paneljén.

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

A MySQL Workbenchben adja hozzá a kapcsolati adatokat.

Screenshot of the MySQL Connections pane in MySQL Workbench.

A MariaDB-adatbázis visszaállítása

A céladatbázis létrehozása után a mysql paranccsal vagy a MySQL Workbench használatával visszaállíthatja az adatokat az újonnan létrehozott adatbázisba a memóriaképfájlból.

mysql -h <hostname> -u <uname> -p<pass> <db_to_restore> < <backupfile.sql>

Ebben a példában visszaállítja az adatokat az újonnan létrehozott adatbázisba a cél Azure Database for MariaDB-kiszolgálón.

mysql -h mydemoserver.mariadb.database.azure.com -u myadmin@mydemoserver -p testdb < testdb_backup.sql

MariaDB-adatbázis exportálása phpMy használatával Rendszergazda

Az exportáláshoz használhatja a phpMy Rendszergazda általános eszközét, amely lehet, hogy már helyileg telepítve van a környezetében. A MariaDB-adatbázis exportálásához tegye a következőket:

  1. Nyissa meg a phpMy Rendszergazda.
  2. A bal oldali panelen válassza ki az adatbázist, majd válassza az Exportálás hivatkozást. Megjelenik egy új oldal az adatbáziskép megtekintéséhez.
  3. Az Exportálás területen válassza az Összes kijelölése hivatkozást az adatbázis tábláinak kiválasztásához.
  4. Az SQL-beállítások területen válassza ki a megfelelő beállításokat.
  5. Válassza a Mentés fájlként lehetőséget és a megfelelő tömörítési lehetőséget, majd válassza az Ugrás lehetőséget. A parancssorban mentse a fájlt helyileg.

Az adatbázis importálása phpMy használatával Rendszergazda

Az importálási folyamat hasonló az exportálási folyamathoz. Végezze el az alábbi műveleteket:

  1. Nyissa meg a phpMy Rendszergazda.
  2. A phpMy Rendszergazda beállítási lapon válassza a Hozzáadás lehetőséget az Azure Database for MariaDB-kiszolgáló hozzáadásához.
  3. Adja meg a kapcsolat adatait és a bejelentkezési adatokat.
  4. Hozzon létre egy megfelelően elnevezett adatbázist, majd jelölje ki a bal oldali panelen. A meglévő adatbázis újraírásához jelölje ki az adatbázis nevét, jelölje be a táblanevek melletti összes jelölőnégyzetet, majd a Meglévő táblák törléséhez válassza a Drop lehetőséget .
  5. Az SQL-hivatkozásra kattintva megjelenítheti azt a lapot, amelyen SQL-parancsokat írhat be, vagy feltöltheti az SQL-fájlt.
  6. A tallózás gombra kattintva keresse meg az adatbázisfájlt.
  7. A Go gombra kattintva exportálhatja a biztonsági mentést, végrehajthatja az SQL-parancsokat, és újra létrehozhatja az adatbázist.

További lépések