MySQL के साथ काम करते समय, आपको नियमित रूप से MySQL डेटाबेस का बैकअप लेने और पुनर्स्थापित करने की आवश्यकता हो सकती है। यह दुर्घटनाओं के मामले में ठीक होने में मदद करता है। यहां बताया गया है कि आप MySQL डेटाबेस का बैकअप और रीस्टोर कैसे कर सकते हैं।
mysqldump MySQL डेटाबेस का बैकअप लेने का एक आसान तरीका है। यह MySQL सेटअप फाइलों के साथ बंडल में आता है। जब आप MySQL इंस्टॉल करते हैं तो यह आपके कंप्यूटर पर इंस्टॉल हो जाता है। यह DROP तालिका . के साथ एक *.sql फ़ाइल बनाता है , तालिका बनाएं और इसमें डालें आपके डेटाबेस के SQL स्टेटमेंट। MySQL डेटाबेस को पुनर्स्थापित करने के लिए, गंतव्य डेटाबेस पर *.sql फ़ाइल निष्पादित करें।
आप एकल या एकाधिक डेटाबेस का बैकअप लेने के लिए mysqldump का उपयोग कर सकते हैं। आप डेटाबेस में विशिष्ट तालिकाओं का बैकअप भी ले सकते हैं।
MySQL डेटाबेस को बैकअप और पुनर्स्थापित करने के लिए कमांड का सिंटैक्स यहां दिया गया है:
backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
MySQL डेटाबेस का बैकअप कैसे लें
<एच3>1. एकल डेटाबेस का बैकअप लें:मान लें कि आप sample_db डेटाबेस का बैकअप चाहते हैं। जैसे, आपका रूट पासवर्ड 'पासवार्ड' है
# mysqldump -u root -ppasswd sample_db > sample_db.sql
यह कमांड बैकअप लेता है और डेटाबेस के आउटपुट को sample_db.sql में डंप करता है। Sales_db.sql में sales_db डेटाबेस में सभी तालिकाओं के लिए ड्रॉप टेबल, क्रिएट टेबल और इन्सर्ट कमांड होगा। डंप जानकारी दिखाते हुए sales_db.sql का आंशिक आउटपुट निम्नलिखित है:
-- -- Table structure for table `user_table` -- DROP TABLE IF EXISTS `user_table`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `user_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(75) DEFAULT NULL, `email` varchar(75) NOT NULL, `password` varchar(128) NOT NULL, `date_joined` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `user_table` -- LOCK TABLES `user_table` WRITE; /*!40000 ALTER TABLE `user_table` DISABLE KEYS */; INSERT INTO `user_table` VALUES (1,'test_user','[email protected]','sha1$96e28$effdf3bfe8d0477','2012-12-12 23:17:10'),(7,'[email protected]','[email protected]','sha1$5e05960cede8','2013-02-05 14:56:04'),(8,'[email protected]','[email protected]','sha1$c2497b6420379ac76','2013-02-05 14:57:01'); /*!40000 ALTER TABLE `user_table` ENABLE KEYS */; UNLOCK TABLES;<एच3>2. एकाधिक डेटाबेस का बैकअप लें:
उन डेटाबेस का चयन करें जिनका आप बैकअप लेना चाहते हैं। यहां बताया गया है कि आप सभी डेटाबेस की सूची कैसे प्राप्त कर सकते हैं:
# mysql -u root -ppasswd mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | sample_db | | mysql | | sample_sales_db | +--------------------+ 4 rows in set (0.00 sec)
मान लीजिए, आप sample_db और sample_sales_db दोनों डेटाबेस का बैकअप लेना चाहते हैं। दिखाए गए अनुसार mysqldump निष्पादित करें:
# mysqldump -u root -ppasswd --databases sample_db sample_sales_db > multi_databases.sql<एच3>3. सभी डेटाबेस का बैकअप लें:
यहां बताया गया है कि आप अपने MySQL इंस्टेंस के सभी डेटाबेस का बैकअप कैसे लेते हैं।
# mysqldump -u root -ppasswd --all-databases > all-database.sql<एच3>4. किसी विशिष्ट तालिका का बैकअप लें:
मान लें कि हम sample_db डेटाबेस से केवल user_table तालिका का बैकअप लेना चाहते हैं।
# mysqldump -u root -ppasswd sample_db user_table > sample_db_user_table.sql
MySQL डेटाबेस को कैसे पुनर्स्थापित करें
नमूना_डीबी डेटाबेस को पुनर्स्थापित करने के लिए, MySQL को <के साथ निष्पादित करें जैसा कि नीचे दिखाया गया है। सुनिश्चित करें कि जिस डेटाबेस में आप अपनी .sql फ़ाइल को पुनर्स्थापित करते हैं वह आपके कंप्यूटर पर मौजूद है। अन्यथा आप एक नया डेटाबेस बना सकते हैं और फिर पुनर्स्थापना कर सकते हैं।