MySQL डेटाबेस कई कंप्यूटर सिस्टम में एक अभिन्न अंग खेलते हैं, खासकर जब यह वेब होस्टिंग और इंटरनेट सेवाओं की बात आती है। डेटाबेस में सौंपे जाने वाले सभी मूल्यवान डेटा के साथ बैकअप बनाने के लिए आवश्यक है, और यह जानना महत्वपूर्ण है कि डेटाबेस सर्वर को कैसे प्रशासित किया जाए। MySQL में इन कार्यों के लिए दो शक्तिशाली टूल शामिल हैं: "mysqldump" और "mysqladmin।" जैसा कि उनके नाम बताते हैं, पहला बैकअप के लिए है और दूसरा प्रशासन के लिए है। यदि आप एक सक्षम MySQL व्यवस्थापक बनना चाहते हैं तो इन दो आदेशों को मास्ट करना सर्वोपरि है।

बैकअप

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

डेटाबेस में एक टेबल को डंप करने के लिए, mysqldump का उपयोग निम्नानुसार करें:

 mysqldump -u root -p testdb tablename 

जहां "testdb" डेटाबेस का नाम है और "tablename" उस तालिका का नाम है जिसे आप डंप करना चाहते हैं। "-u" विकल्प निर्दिष्ट करता है कि डंप के दौरान कौन सा MySQL उपयोगकर्ता उपयोग करना है और "-p" पासवर्ड को इंटरैक्टिव रूप से प्राप्त करने के लिए mysqldump को बताता है (यानी आपको संकेत मिलने पर पासवर्ड टाइप करना होगा)। उपयोगकर्ता को उस डेटाबेस तक पहुंच पढ़ने की आवश्यकता है जिसे डंप किया जा रहा है (तकनीकी रूप से उपयोगकर्ता को चयन, शो दृश्य, ट्रिगर और लॉक टेबल विशेषाधिकारों की आवश्यकता होती है)। MySQL सर्वर स्थापना के दौरान "रूट" उपयोगकर्ता सामान्य रूप से कॉन्फ़िगर किया गया है (पासवर्ड के साथ)।

आउटपुट सीधे कंसोल पर भेजा जाएगा। आउटपुट को फ़ाइल में भेजने के लिए, और कमांड लाइन पर पासवर्ड निर्दिष्ट करने के लिए (बैकअप स्क्रिप्ट के लिए उपयोगी) का उपयोग करें:

 mysqldump -u root --password = 'secret' testdb tablename> testdb_table_backup.sql 

जहां उपयोगकर्ता "रूट" उपयोगकर्ता रूट के लिए पासवर्ड है, और टैबलेटनाम उस तालिका का नाम है जिसे आप बैक अप लेना चाहते हैं। आपको फ़ाइल नाम में वास्तविक तालिका नाम के साथ "_table_" को प्रतिस्थापित करना चाहिए। परिणामी फ़ाइल "testdb_table_backup.sql" में तालिका को फिर से बनाने के लिए आवश्यक सभी SQL कथन शामिल होंगे।

आप कई तालिकाओं का बैक अप लेने के लिए एक से अधिक टेबल पैरामीटर की आपूर्ति कर सकते हैं, या यदि आप इसे पूरी तरह से छोड़ देते हैं, तो संपूर्ण डेटाबेस डंप हो जाएगा। उदाहरण के लिए:

 mysqldump -u root --password = 'secret' testdb> testdb_backup.sql 

परिणामी फ़ाइल "testdb_backup.sql" में डेटाबेस में सभी तालिकाओं का डंप होगा।

एक से अधिक डेटाबेस को डंप करने के लिए आपको - डेटाबेस विकल्प का उपयोग करने की आवश्यकता है। उदाहरण के लिए:

 mysqldump -u root --password = 'secret' - डेटाबेस testdb testdb2> testbd_testdb2_backup.sql 

MySQL सर्वर पर सभी डेटाबेस से सभी तालिकाओं का बैकअप लेने के लिए, " --all-databases " विकल्प का उपयोग करें:

 mysqldump -u root --password = 'secret' --all-डेटाबेस> all_dbs.sql 

व्यवस्थापक

Mysqladmin उपकरण का उपयोग प्रशासनिक कार्यों को करने के लिए किया जाता है जिसमें सर्वर की कॉन्फ़िगरेशन और वर्तमान स्थिति की जांच करना और डेटाबेस बनाने और ड्रॉप करने आदि शामिल हैं। "Testdb" नामक डेटाबेस बनाने के लिए:

 mysqladmin -u root -p testdb बनाएं 

"-u" और "-p" विकल्प mysqldump कमांड के समान ही काम करते हैं।

अपने सभी तालिकाओं के साथ डेटाबेस को हटाने के लिए "ड्रॉप" उप-आदेश का उपयोग करें:

 mysqladmin -u root -p ड्रॉप testdb 

डेटाबेस की हटाने की पुष्टि करने के बाद, यह, इसके सभी तालिकाओं के साथ, सर्वर से हटा दिया जाएगा।

Mysqadmin कमांड MySQL सर्वर से विभिन्न आंकड़े भी पुनर्प्राप्त कर सकता है। "स्थिति" और "विस्तारित-स्थिति" उप-आदेशों को आज़माएं। सबसे सरल स्थिति अनुरोध "पिंग" कमांड है जो यह देखने के लिए जांचता है कि सर्वर जीवित है या नहीं। यहां इसका उपयोग करने का एक उदाहरण दिया गया है:

 mysqladmin -u रूट --password = 'गुप्त' पिंग 

आप MySQL दस्तावेज़ पृष्ठ से MySQLldump कमांड के बारे में विस्तृत जानकारी प्राप्त कर सकते हैं, एक डेटाबेस बैकअप प्रोग्राम, और इसी तरह क्लाइंट से MySQL सर्वर पेज के लिए mysqladmin कमांड के लिए।

यदि ऊपर दिए गए उदाहरणों के बारे में आपके कोई प्रश्न हैं, तो कृपया नीचे टिप्पणी अनुभाग में पूछें।