CodeGym/Java Course/All lectures for HI purposes/डेटा बैकअप

डेटा बैकअप

उपलब्ध

8.1 डेटाबेस बैकअप की आवश्यकता

आपने डेटाबेस स्कीमा, टेबल बनाना, उन्हें देखना सीख लिया है। इन तालिकाओं को भी डेटा से भरें और उन्हें बदलें। बैकअप बनाने के लिए अब आपको सबसे महत्वपूर्ण बात सीखने की जरूरत है।

डेटाबेस को तोड़ना बहुत आसान है। तथ्य यह है कि डेटाबेस आमतौर पर निरंतर परिवर्तन की स्थिति में होता है: कुछ लगातार सहेजा जाता है और इसमें जोड़ा जाता है।

कल्पना करें कि आपके ब्राउज़र में एक टैब खुला है और आप नहीं चाहते कि उसमें मौजूद जानकारी गुम हो जाए। इस बात से सहमत हैं कि यदि आप इसे कभी बंद न करने का निर्णय लेते हैं, तो यह सबसे अच्छा विकल्प नहीं होगा। आखिरकार, ब्राउज़र फ्रीज हो सकता है, इसे दुर्घटना से बंद किया जा सकता है, आप प्रकाश खो सकते हैं या आपका कंप्यूटर जला सकते हैं। विंडोज एक और अपडेट इंस्टॉल कर सकता है, लेकिन आप कभी नहीं जानते कि क्या।

तो, आपका डेटाबेस एक ही टैब है। और यह केवल उस समय की बात है जब डिस्क पर अगले लेखन के दौरान कुछ गलत हो जाता है। इसलिए, आपको निश्चित रूप से सीखना होगा कि बैकअप कैसे बनाया जाता है।

बैकअप बनाना आपके दांतों को ब्रश करने जैसा है, सामान्य कंपनियां हर रात प्रत्येक डेटाबेस की सामग्री का बैकअप बनाती हैं। और चूंकि हार्ड ड्राइव भी विफल हो सकते हैं और डेटा केंद्रों में आग लग जाती है, बैकअप आमतौर पर दुनिया के विभिन्न हिस्सों में डेटा केंद्रों में 2-3 प्रतियों में संग्रहीत होते हैं।

बैकअप बनाने के कई तरीके हैं।

बैकअप फ़ाइलें। चूंकि सभी डेटाबेस डेटा डिस्क पर फ़ाइलों के एक सेट के रूप में संग्रहीत होते हैं , इसलिए इन फ़ाइलों को कहीं कॉपी करना सबसे आसान तरीका है। या पहले इसे एक संग्रह में संगृहीत करें, और फिर इसे कहीं कॉपी करें।

यह बैकअप बनाने का सबसे तेज़ तरीका है, लेकिन इसके लिए ज़रूरी है कि फ़ाइलें कॉपी/संग्रहीत करते समय न बदलें। कॉपी बनाते समय डेटाबेस को फ्रीज़ किया जाना चाहिए, अन्यथा कॉपी टेढ़ी हो जाएगी। आखिरकार, ऐसी स्थिति हो सकती है कि कुछ नए डेटा डेटाबेस में दर्ज किए गए हैं, और कुछ अभी तक नहीं हैं।

SQL प्रश्नों के रूप में बैकअप । जैसा कि आप पहले से ही जानते हैं, SQL सर्वर डेटाबेस में डेटा जोड़ना और बदलना हमेशा SQL क्वेरी के रूप में दर्शाया जाता है। तो आप SQL सर्वर से SQL प्रश्नों के रूप में किसी विशेष तालिका या तालिकाओं की सामग्री को फ़ाइल में सहेजने के लिए कह सकते हैं।

यह विधि पिछले वाले की तुलना में धीमी है, लेकिन इसका उपयोग विभिन्न निर्माताओं से SQL सर्वरों के बीच डेटा स्थानांतरित करने के लिए किया जा सकता है।

साथ ही, सभी डेटा को हमेशा सहेजने की आवश्यकता नहीं होती है। अक्सर आपके टेबल में सेवा या अप्रचलित जानकारी का एक गुच्छा होता है और आप SQL सर्वर को इसे सहेजने के लिए नहीं कह सकते हैं।

साथ ही, उन तालिकाओं के लिए जो समय के संदर्भ में कुछ घटनाओं को संग्रहीत करती हैं, आप केवल अंतिम दिन के लिए ऐसी घटनाओं का चयन कर सकते हैं और केवल उन्हें संग्रहित कर सकते हैं।

विभिन्न उपयोगिताओं । कंपनियां इस बात की गारंटी पाने के लिए बहुत सारा पैसा देने को तैयार हैं कि उनका डेटा बरकरार और सुरक्षित रहेगा। इसलिए, विभिन्न आईटी कंपनियों ने सभी अवसरों के लिए समाधान पेश करना शुरू किया। उदाहरण के लिए, ऐसे प्रोग्राम हैं जो बैकअप डेटाबेस को फ़ाइलों के रूप में बना सकते हैं और साथ ही यह आवश्यक नहीं है कि ये फ़ाइलें परिवर्तित न हों।

उदाहरण के लिए, आप ऑपरेटिंग सिस्टम में विशेष ड्राइवर स्थापित कर सकते हैं और कब, क्या और कहाँ बदल गया है, इस पर नज़र रख सकते हैं।

8.2 डेटाबेस का बैकअप लेना

वर्कबेंच अपने काम करने वाले डेटाबेस से डेटा निर्यात और आयात करने में उत्कृष्ट है। ऐसा करने के लिए, आपको बस मेनू आइटम को दबाना होगा: Server-> Data Export. और आपको कुछ ऐसा दिखाई देगा:

अब कुछ स्पष्टीकरण जोड़ते हैं:

आदेश यह है:

  1. सबसे पहले, उस स्कीमा या स्कीमा का चयन करें, जिसे निर्यात किया जाएगा।
  2. फिर दाईं ओर हम बैकअप के लिए टेबल निर्दिष्ट करते हैं।
  3. अगला, हमें यह चुनना होगा कि हम वास्तव में क्या निर्यात करेंगे:
    • केवल डेटा;
    • केवल संरचना (तालिकाएँ होंगी, लेकिन खाली);
    • डेटा और संरचना।
  4. डेटा को बचाने का तरीका चुनें:
    • प्रत्येक तालिका के लिए एक फ़ाइल;
    • सभी तालिकाओं के लिए एक फ़ाइल।
  5. आप फ़ाइल के शीर्ष पर स्कीमा निर्माण कोड भी जोड़ सकते हैं। विभिन्न DBMS के बीच डेटा स्थानांतरित करते समय यह उपयोगी होता है।

8.3 टेबल स्कीमा का बैकअप लेना

वास्तविक डेटा के बिना, केवल स्कीमा का बैकअप लें।

मैंने केवल डंप स्ट्रक्चर का चयन किया और स्टार्ट एक्सपोर्ट पर क्लिक किया।

और वर्कबेंच द्वारा बनाई गई फ़ाइल में मैंने यही पाया।

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

यह सही है, यह हमारी तालिकाओं का स्कीमा है, अगर मैं एक तालिका के बारे में ऐसा कहूं।

8.4 डेटा का बैकअप लेना

अब केवल डेटा का बैकअप लेते हैं, लेकिन स्कीमा संरचना के बिना।

आइए केवल डंप डेटा का चयन करें और देखें कि वे हमें क्या देते हैं:

और वर्कबेंच द्वारा बनाई गई फ़ाइल में मैंने यही पाया।

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

हाँ, सच बहुत पसंद है। हम यहां एक विशेष कोड भी देखते हैं जो यूजर टेबल को लॉक कर देता है। ऐसा इसलिए किया जाता है ताकि आप बस इस SQL ​​स्क्रिप्ट को निष्पादित कर सकें: इसमें सभी निर्देश शामिल हैं जो किसी भी SQL सर्वर को डेटा को सही ढंग से पुनर्स्थापित करने की अनुमति देगा।

8.5 बैकअप की तैनाती

और अंत में, आखिरी चीज डेटाबेस को बैकअप से पुनर्स्थापित कर रही है। यह क्रिया बहुत ही सरल लेकिन उपयोगी है।

मान लें कि मैं चाहता हूं कि मेरे सभी छात्रों के पास एक विशिष्ट डेटाबेस हो ताकि आप सीख सकें कि इस पर प्रश्न कैसे लिखे जाते हैं। फिर मैं आपको केवल उस फ़ाइल का लिंक दूंगा जिसे आप स्थानीय रूप से परिनियोजित करते हैं और बस इतना ही।

और यहां तक ​​कि अगर आप गलती से कुछ डेटा, टेबल, या यहां तक ​​कि पूरे स्कीमा को हटा देते हैं, तो इसे बैकअप से हमेशा बहाल किया जा सकता है।

डेटा आयात करने के लिए, आपको मेनू में आइटम पर क्लिक करना होगा Server-> Data Import। तब आप यह तस्वीर देखेंगे:

जैसा कि निर्यात के मामले में होता है, आपको सबसे पहले डेटा स्रोत चुनने के लिए कहा जाता है: फ़ाइलों का एक समूह या एक फ़ाइल में सभी डेटा।

फिर आपको उस योजना का चयन करना होगा जिसमें निर्दिष्ट डेटा अपलोड किया जाएगा। आप एक मौजूदा योजना का चयन कर सकते हैं या एक नया बना सकते हैं।

महत्वपूर्ण! यदि आपके बैकअप में न केवल डेटा है, बल्कि तालिका संरचना का विवरण भी है, तो तालिकाओं को फिर से बनाया जाएगा (यदि लक्ष्य स्कीमा में पहले से कोई है)।

टिप्पणियां
  • लोकप्रिय
  • नया
  • पुराना
टिप्पणी लिखने के लिए आपको साइन इन करना होगा
इस पेज पर अभी तक कोई टिप्पणियां नहीं हैं