CodeGym/Java курс/All lectures for BG purposes/Архивиране на данни

Архивиране на данни

На разположение

8.1 Необходимостта от резервно копие на база данни

Научихте How да създавате схеми на бази данни, таблици, да ги преглеждате. Също така попълнете тези таблици с данни и ги променете. Сега трябва да научите най-важното - да правите резервни копия.

Базата данни е много лесна за разбиване. Факт е, че базата данни обикновено е в състояние на постоянна промяна: нещо постоянно се записва и добавя към нея.

Представете си, че имате отворен раздел в браузъра си и не искате информацията в него да бъде загубена. Съгласете се, че ако просто решите никога да не го затваряте, това няма да е най-добрият вариант. В крайна сметка браузърът може да замръзне, може да бъде затворен случайно, можете да загубите светлината or да изгорите компютъра си. Windows може да инсталира друга актуализация, но никога не знаете Howва.

И така, вашата база данни е същия раздел. И е въпрос на време при следващото записване на диска нещо да се обърка. Следователно определено трябва да се научите How да правите резервни копия.

Пequalsето на резервни копия е като да си миете зъбите, нормалните компании правят резервно копие на съдържанието на всяка база данни всяка вечер. И тъй като твърдите дискове също могат да се повредят и има пожари в центровете за данни, резервните копия обикновено се съхраняват в 2-3 копия в центрове за данни в различни части на света.

Има няколко подхода за създаване на резервно копие.

Архивиране на файлове. Тъй като всички данни от базата данни се съхраняват на диска като набор от файлове , най-лесният начин е просто да копирате тези файлове някъде. Или първо го архивирайте в един архив и след това го копирайте някъде.

Това е най-бързият начин да направите резервно копие, но изисква файловете да не се променят, докато се копират/архивират. Базата данни трябва да бъде замразена, докато копието се създава, в противен случай копието ще бъде криво. В края на краищата може да има ситуация, че някои от новите данни са записани в базата данни, а някои все още не са.

Архивиране под формата на SQL заявки . Както вече знаете, добавянето и промяната на данни в базата данни на SQL сървъра винаги се представя като SQL заявки. Така че можете да поискате от SQL сървъра да запази съдържанието на определена table or таблици във файл под формата на SQL заявки.

Този метод е по-бавен от предишния, но може да се използва за прехвърляне на данни между SQL сървъри от различни производители.

Също така, не винаги трябва да се записват всички данни. Често имате куп служебна or остаряла информация във вашите таблици и можете да кажете на SQL сървъра да не я записва.

Също така, за таблици, които съхраняват някои събития по отношение на времето, можете просто да изберете такива събития за последния ден и да съхранявате само тях.

Различни помощни програми . Компаниите са готови да платят много пари, за да получат гаранция, че данните им ще останат непокътнати и в безопасност. Затова различни ИТ компании започнаха да предлагат решения за всички случаи. Например, има програми, които могат да правят резервни копия на бази данни под формата на файлове и в същото време не изискват тези файлове да не се променят.

Например, можете да инсталирате специални драйвери в операционната система и да следите кога, Howво и къде се е променило.

8.2 Архивиране на базата данни

Workbench е отличен при експортиране и импортиране на данни от базите данни, с които работи. За да направите това, просто трябва да натиснете елемента от менюто: Server-> Data Export. И ще видите нещо подобно:

Сега нека добавим малко обяснение:

Редът е следният:

  1. Първо изберете схемата or схемите, които ще бъдат експортирани.
  2. След това вдясно посочваме таблиците за архивиране.
  3. След това трябва да изберем Howво точно ще експортираме:
    • само данни;
    • само структура (таблици ще има, но празни);
    • данни и структура.
  4. Изберете How да запазите данните:
    • един файл за всяка table;
    • един файл за всички маси.
  5. Можете също да добавите codeа за създаване на схема в горната част на file. Това е полезно при прехвърляне на данни между различни СУБД.

8.3 Архивиране на схемата на tableта

Нека архивираме само схемите, без действителните данни.

Избрах Dump Structure Only и щракнах Start Export.

И това е, което намерих във file, който Workbench направи.

--
-- 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 */;

Точно така, това е схемата на нашите таблици, ако мога да го кажа за една table.

8.4 Архивиране на данни

Сега нека архивираме само данните, но без структурата на схемата.

Нека изберем Dump Data Only и да видим Howво ни дават:

И това е, което намерих във file, който Workbench направи.

--
-- 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 */;

Да, много прorча на истината. Тук също виждаме специален code, който заключва потребителската table. Това се прави, за да можете просто да изпълните този SQL скрипт: той съдържа всички инструкции, които ще позволят на всеки SQL сървър да възстанови правилно данните.

8.5 Разполагане на резервно копие

И накрая, последното нещо е възстановяване на базата данни от резервно копие. Това действие е много просто, но полезно.

Да кажем, че искам всички мои ученици да имат специфична база данни, така че да можете да се научите How да пишете заявки в нея. След това просто ще ви дам връзка към file, който внедрявате локално и това е всичко.

И дори ако случайно изтриете някои данни, таблици or дори цялата схема, тя винаги може да бъде възстановена от резервно копие.

За да импортирате данни, трябва да щракнете върху елемента в менюто Server-> Data Import. Тогава ще видите тази снимка:

Както в случая с експортирането, първо ще бъдете подканени да изберете източник на данни: група файлове or всички данни в един файл.

След това трябва да изберете схемата, в която ще бъдат качени посочените данни. Можете да изберете съществуваща схема or да създадете нова.

важно! Ако вашето архивиране съдържа не само данни, но и описание на структурата на tableта, тогава таблиците ще бъдат създадени отново (ако вече има такива в целевата схема).

Коментари
  • Популярен
  • Нов
  • Стар
Трябва да сте влезли, за да оставите коментар
Тази страница все още няма коментари