8.1 Az adatbázis biztonsági mentésének szükségessége
Megtanulta adatbázissémák, táblák létrehozását, megtekintését. Ezeket a táblázatokat is töltse fel adatokkal, és módosítsa azokat. Most meg kell tanulnia a legfontosabb dolgot - biztonsági másolatokat készíteni.
Az adatbázis nagyon könnyen feltörhető. Az a helyzet, hogy az adatbázis általában állandó változásban van: valamit folyamatosan elmentenek és hozzáadnak hozzá.
Képzelje el, hogy a böngészőben nyitva van egy lap, és nem szeretné, hogy a benne lévő információk elveszjenek. Fogadja el, hogy ha úgy dönt, hogy soha nem zárja be, akkor ez nem a legjobb megoldás. Hiszen a böngésző lefagyhat, véletlenül bezárható, elveszítheti a fényt, vagy leégetheti a számítógépét. A Windows telepíthet egy másik frissítést, de soha nem tudhatod, mit.
Tehát az adatbázisod ugyanaz a lap. És csak idő kérdése, hogy a következő lemezre írás során mikor történik valami hiba. Ezért mindenképpen meg kell tanulnod a biztonsági mentések készítését.
A biztonsági mentések készítése olyan, mint a fogmosás, a normál cégek minden este biztonsági másolatot készítenek az egyes adatbázisok tartalmáról. És mivel a merevlemezek is meghibásodhatnak, és az adatközpontokban is előfordulnak tüzek, a biztonsági másolatokat általában 2-3 másolatban tárolják a világ különböző pontjain található adatközpontokban.
A biztonsági mentés készítésének többféle módja van.
Fájlok biztonsági mentése. Mivel az összes adatbázisadat a lemezen fájlkészletként van tárolva , a legegyszerűbb módja, ha egyszerűen másolja ezeket a fájlokat valahova. Vagy először archiválja egy archívumba, majd másolja valahova.
Ez a leggyorsabb módja a biztonsági mentésnek, de megköveteli, hogy a fájlok ne változzanak a másolás/archiválás közben. A másolat létrehozása közben az adatbázist le kell fagyasztani, különben a másolat ferde lesz. Hiszen előfordulhat olyan helyzet, hogy az új adatok egy része bekerül az adatbázisba, egy rész pedig még nem.
Biztonsági mentés SQL lekérdezések formájában . Amint azt már tudja, az SQL szerver adatbázisban lévő adatok hozzáadása és módosítása mindig SQL lekérdezésként jelenik meg. Így megkérheti az SQL-kiszolgálót, hogy egy adott tábla vagy táblák tartalmát SQL-lekérdezésként mentse el egy fájlba.
Ez a módszer lassabb, mint az előző, de használható adatátvitelre a különböző gyártók SQL szerverei között.
Ezenkívül nem kell mindig minden adatot menteni. Gyakran előfordul, hogy egy csomó szolgáltatás vagy elavult információ található a táblákban, és megmondhatja az SQL-kiszolgálónak, hogy ne mentse el.
Azon táblázatok esetében is, amelyek bizonyos eseményeket időre vonatkoztatva tárolnak, egyszerűen kiválaszthatja ezeket az eseményeket az utolsó napra, és csak azokat tárolhatja.
Különféle közművek . A vállalatok hajlandóak sok pénzt fizetni azért, hogy garanciát kapjanak arra, hogy adataik sértetlenek és biztonságban maradnak. Ezért a különböző informatikai cégek minden alkalomra megoldást kínáltak. Például vannak olyan programok, amelyek biztonsági másolatot készíthetnek az adatbázisokról fájlok formájában, és ugyanakkor nem igénylik, hogy ezek a fájlok ne változzanak.
Például telepíthet speciális illesztőprogramokat az operációs rendszerbe, és nyomon követheti, hogy mikor, mi és hol változott.
8.2 Az adatbázis biztonsági mentése
A Workbench kiválóan alkalmas az adatok exportálására és importálására azokból az adatbázisokból, amelyekkel dolgozik. Ehhez csak meg kell nyomni a menüpontot: Server-> Data Export
. És valami ilyesmit fog látni:
![](https://cdn.codegym.cc/images/article/3bc1564d-b5cb-4378-9968-570697e9603a/1024.jpeg)
Most adjunk hozzá néhány magyarázatot:
![](https://cdn.codegym.cc/images/article/821a37d4-c6f3-4ccf-80bf-4873f3d8d061/1024.jpeg)
A sorrend a következő:
- Először válassza ki az exportálandó sémát vagy sémákat.
- Ezután a jobb oldalon megadjuk a biztonsági mentéshez szükséges táblákat.
- Ezután ki kell választanunk, hogy pontosan mit exportálunk:
- csak adatok;
- csak szerkezet (a táblázatok lesznek, de üresek);
- adatok és szerkezet.
- Válassza ki az adatok mentésének módját:
- minden táblázathoz egy fájl;
- egy fájl az összes táblázathoz.
- A séma létrehozási kódját is hozzáadhatja a fájl tetejéhez. Ez akkor hasznos, ha adatokat visz át különböző DBMS-ek között.
8.3 Táblázatséma biztonsági mentése
Csak a sémákról készítsünk biztonsági másolatot, a tényleges adatok nélkül.
Kiválasztottam a Csak kiíratott szerkezetet, és rákattintottam az Exportálás indítása gombra.
![](https://cdn.codegym.cc/images/article/18f4743c-0edb-468b-8408-52f59c75a20f/1024.jpeg)
És ezt találtam a Workbench által készített fájlban.
--
-- Table structure for table `user`
--
DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`name` varchar(100) DEFAULT NULL,
`level` int(11) DEFAULT NULL,
`created_date` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
Így van, ez a tábláink sémája, ha szabad ezt egyetlen tábláról mondani.
8.4 Adatok biztonsági mentése
Most csak az adatokról készítsünk biztonsági másolatot, de a sémaszerkezet nélkül.
Válasszuk ki a Csak adatok kiíratása lehetőséget, és nézzük meg, mit adnak nekünk:
![](https://cdn.codegym.cc/images/article/b81bb769-5767-4f8a-9a45-bf36e59746e2/1024.jpeg)
És ezt találtam a Workbench által készített fájlban.
--
-- Dumping data for table `user`
--
LOCK TABLES `user` WRITE;
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
INSERT INTO `user` VALUES
(1,'Ivanov Ivan',40,'2022-05-11'),
(2,'Petrov Nikola',1,'2021-05-01'),
(3,'Sidroov Vitaly',8,'2022-05-12');
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
Igen, nagyon hasonlít az igazsághoz. Itt egy speciális kódot is látunk, amely zárolja a felhasználói táblát. Ez azért történik, hogy egyszerűen végrehajthassa ezt az SQL-szkriptet: tartalmazza az összes utasítást, amely lehetővé teszi bármely SQL-kiszolgáló számára az adatok helyes visszaállítását.
8.5 Biztonsági másolat telepítése
És végül az utolsó dolog az adatbázis visszaállítása biztonsági másolatból. Ez a művelet nagyon egyszerű, de hasznos.
Tegyük fel, hogy azt szeretném, hogy minden diákom rendelkezzen egy adott adatbázissal, hogy megtanulhassa, hogyan írjon rá lekérdezéseket. Ezután adok egy linket a helyileg telepített fájlhoz, és kész.
És még ha véletlenül is töröl néhány adatot, táblát vagy akár a teljes sémát, az mindig visszaállítható biztonsági másolatból.
Az adatok importálásához kattintson a menü elemére Server-> Data Import
. Akkor ezt a képet fogod látni:
![](https://cdn.codegym.cc/images/article/3e3e48d4-9f99-4fa1-a2cb-121920583570/1024.jpeg)
Az exportáláshoz hasonlóan először a rendszer felkéri, hogy válasszon adatforrást: fájlok csoportját vagy az összes adatot egy fájlban.
Ezután ki kell választania azt a sémát, amelybe a megadott adatokat feltölti. Kiválaszthat egy meglévő sémát, vagy létrehozhat egy újat.
Fontos! Ha a biztonsági másolat nem csak adatokat, hanem a táblaszerkezet leírását is tartalmazza, akkor a táblák újra létrejönnek (ha már vannak ilyenek a célsémában).
GO TO FULL VERSION