Bevezetés
A MySQL adatbázisok kezelésekor különösen nagy figyelmet kell fordítania az adatvesztés elkerülésére, kiváltképp nagyméretű adatbázisok esetén.
Ezen információk exportálásához használja a "dump" parancsot, hogy az adatok másolatát biztonsági mentési fájlban tárolja. Ez a biztonsági mentési fájl felhasználható az adatbázis helyreállítására az eszköz meghibásodása esetén, vagy ugyanazok az adatok átvitelére egyik gépről a másikra.
Az oktatóanyagunkból megtudhatja, hogyan lehet nagy MySQL adatbázisokat (vagy MariaDB-t) exportálni, és hogyan importálhatja azokat egy másik adatstruktúrába.
Előkészületek
A művelet végrehajtásához ennek a 3 feltételnek kell teljesülnie:
- Hozzáférés (közvetlenül vagy SSH-n keresztül) a Linux szerverhez, ahol a MySQL (vagy MariaDB) telepítve van;
- Az exportálandó adatbázis nevének ismerete;
- Hozzáférési adatok ehhez az adatbázishoz (ha rendelkezésre áll).
Először csatlakozzon a szerverhez SSH kapcsolaton keresztül. Ha még nem tette meg, akkor ajánlott átböngésznie a
Hogyan javítható az SSH biztonság az Ubuntu 18.04-en? útmutatónkat a folyamat megkezdése előtt. Helyi szerver esetén folytassa a következő lépéssel, és nyissa meg a szerver terminált.
Az adatbázis exportálása
A MySQL és a MariaDB sem nyújt olyan eszközt, amely lehetővé teszi az adatbázis közvetlen másolatának elkészítését. Ennélfogva az adatbázis "dump" végrehajtásával "mentse" az adatbázist. Az adatbázis "dump" művelete lehetővé teszi, hogy a táblák összes tartalmát .SQL fájlba mentse.
Pontosan azért, mert a dump fájl sok helyet foglalhat el a lemezen a mentendő adatmennyiségtől függően, jó gyakorlat a tartalmát egy zip archívumba tömöríteni.
Ezután lépjen a mappába, ahová az adatbázist menteni kívánja:
cd /path/your_folder
Megjegyzés: Cserélje le az "/ path / your_folder"-t a mappa elérési útjára.
Ezután írja be a következő parancsot az adatbázis exportálásának megkezdéséhez:
mysqldump -u username -p my_big_database | gzip > backup.sql.gz
Ezzel a "mysqldump" klienst fogják használni. A "mysqldump" kliens kibontja az adatbázisban tárolt adatokat.
Megjegyzés: Az utasításban feltétlenül cserélje le a "felhasználónév" mezőt annak a felhasználónak a nevére, aki hozzáférhet az adatbázishoz, a "my_big_database" mezőt pedig az exportálandó adatbázis nevére, a "backup" mezőt pedig a biztonsági másolat fájlhoz társítandó névre. Javasoljuk, hogy adja meg a biztonsági másolat dátumát a a backup fájl nevében.
A parancs végrehajtása után meg kell adnia a jelzett felhasználó számára biztosított MySQL (vagy MariaDB) hozzáférési jelszót. A művelet több-kevesebb időt vehet igénybe az exportálandó információ mennyisége alapján.
A művelet befejezése után az összes adatot exportáljuk a "backup.sql.gz" archívumba.
Az Adatbázis importálása
A korábban mentett adatbázis importálásához csomagolja ki az archívumot. A korábbiakhoz hasonlóan menjen arra az útvonalra, ahová ki kívánja csomagolni az archívumot, és írja be:
gzip -d backup.sql.gz
Megjegyzés: Ha a "biztonsági másolatot" más névre cserélte, mindenképpen változtassa meg a helyes tömörített fájl megjelölése érdekében.
Ezen a ponton csak annyit kell tennie, hogy beírja a MySQL-t (vagy MariaDB-t), létrehozza az új adatbázist és importálja annak tartalmát. Ezután írja be a következőt:
mysql -u user -p
Megjegyzés: Cserélje ki a "felhasználó" mezőt annak a felhasználónak a nevére, aki jogosult hozzáférni a shellhez, és aki jogosult egy új adatbázis létrehozására. Alternatív megoldásként jelentkezzen be rootként (ha megengedett):
sudo mysql
Most, hogy belépett a shellbe, kezdje el létrehozni az új adatbázist, ahová az adatokat importálni szeretné. Ezután írja be:
CREATE DATABASE restored_db;
Ez a parancs létrehozza a "restored_db" adatbázist: cserélje le egy kívánt névre. Más ilyen nevű adatbázis azonban nem létezhet. Ebben az esetben hibaüzenet érkezik, és az összes műveletet meg kell ismételni egy új név megadásával.
A már meglévő adatbázisok ellenőrzéséhez használja az alábbi parancsot:
SHOW DATABASES;
Most utasítsa a MySQL-t (vagy a MariaDB-t), hogy minden jövőbeni műveletet az adatbázisban kell végrehajtani.
USE restored_db;
Végül importálja az adatokat a következőn keresztül:
SOURCE /path/file.sql;
Megjegyzés: cserélje ki a "/path/file.sql"-t a kibontott fájl pontos elérési útjával.
A következő parancsok használatával ellenőrizze, hogy az adatokat helyesen másolta-e:
USE your_old_db;
SHOW TABLES
USE your_new_db;
SHOW TABLES
Megjegyzés: Cserélje le a "your_old_db" és "your_new_db" kifejezéseket a forrás és a cél adatbázis nevére.
Figyelje meg, hogy az összes tábla manuális importálása nélkül a táblák mind a régi, mind az új adatbázisban megtalálhatók.
Összegzés
Ha végigvette az útmutató összes lépését, megtanulta, hogyan készítsen biztonsági másolatot a MySQL adatbázisról, és hogyan importálja azt egy új adatstruktúrába.
Javasoljuk, hogy rendszeresen készítsen ilyen típusú biztonsági másolatot, hogy ne kockáztassa meg a fontos adatok elvesztését. Ebben az esetben használhatkja a Hogyan lehet irányítani az ütemezett műveleteket a Crontab segítségével? útmutatónkban bemutatott módszert.