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:
- Azure Database for MariaDB-kiszolgáló létrehozása – Azure Portal.
- Telepítse a mysqldump parancssori segédprogramot.
- Töltse le és telepítse a MySQL Workbench vagy más külső MySQL-eszközt a memóriakép- és visszaállítási parancsok futtatásához.
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 futhatmysql_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. Asingle-transaction
lehetőség és alock-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 asingle-transaction
beállítást aquick
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.sql
fá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.
A MySQL Workbenchben adja hozzá a kapcsolati adatokat.
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:
- Nyissa meg a phpMy Rendszergazda.
- 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.
- 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.
- Az SQL-beállítások területen válassza ki a megfelelő beállításokat.
- 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:
- Nyissa meg a phpMy Rendszergazda.
- 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.
- Adja meg a kapcsolat adatait és a bejelentkezési adatokat.
- 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 .
- Az SQL-hivatkozásra kattintva megjelenítheti azt a lapot, amelyen SQL-parancsokat írhat be, vagy feltöltheti az SQL-fájlt.
- A tallózás gombra kattintva keresse meg az adatbázisfájlt.
- A Go gombra kattintva exportálhatja a biztonsági mentést, végrehajthatja az SQL-parancsokat, és újra létrehozhatja az adatbázist.