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:

Most adjunk hozzá néhány magyarázatot:

A sorrend a következő:

  1. Először válassza ki az exportálandó sémát vagy sémákat.
  2. Ezután a jobb oldalon megadjuk a biztonsági mentéshez szükséges táblákat.
  3. 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.
  4. 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.
  5. 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.

É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:

É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:

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).