Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql डेटा का स्वचालित या नियमित बैकअप

CSV और OUTFILE में चुनें

http://dev.mysql.com/doc/refman /5.7/hi/select-into.html

<ब्लॉकक्वॉट>

चयन करें ... आउटफाइल में चयनित पंक्तियों को एक फ़ाइल में लिखता है। एक विशिष्ट आउटपुट स्वरूप तैयार करने के लिए कॉलम और लाइन टर्मिनेटर निर्दिष्ट किए जा सकते हैं।

यहां एक पूरा उदाहरण दिया गया है:

SELECT * FROM my_table INTO OUTFILE '/tmp/my_table.csv'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;

फ़ाइल सर्वर पर सहेजी जाती है और चुने गए पथ को लिखने योग्य होना चाहिए। हालांकि इस क्वेरी को PHP और वेब अनुरोध के माध्यम से निष्पादित किया जा सकता है, लेकिन इसे mysql कंसोल के माध्यम से सबसे अच्छा निष्पादित किया जाता है।

इस तरह से निर्यात किया जाने वाला डेटा डेटा जानकारी लोड करें

हालांकि यह विधि परिणाम सेट के माध्यम से पुनरावृति और पंक्ति दर पंक्ति फ़ाइल में सहेजना बेहतर है, यह उपयोग करने जितना अच्छा नहीं है....

mysqldump

mysqldump कई मायनों में SELECT INTO OUTFILE से बेहतर है, CSV का निर्माण उन कई चीजों में से एक है जो यह कमांड कर सकता है।

<ब्लॉकक्वॉट>

Mysqldump क्लाइंट उपयोगिता तार्किक बैकअप करती है, SQL स्टेटमेंट का एक सेट तैयार करती है जिसे मूलडेटाबेस ऑब्जेक्ट परिभाषाओं और तालिका डेटा को पुन:पेश करने के लिए निष्पादित किया जा सकता है। यह बैकअप के लिए एक या अधिक MySQL डेटाबेस को डंप करता है या किसी अन्य SQL सर्वर पर स्थानांतरित करता है। mysqldumpcommand CSV, अन्य सीमांकित पाठ, या XMLformat में भी आउटपुट उत्पन्न कर सकता है।

आदर्श रूप से mysqldump को आपके खोल से बुलाया जाना चाहिए। exec का उपयोग करना संभव है PHP में इसे चलाने के लिए लेकिन चूंकि डंप का उत्पादन डेटा की मात्रा के आधार पर लंबा समय ले सकता है, और PHP स्क्रिप्ट आमतौर पर केवल 30 सेकंड के लिए चलती हैं, आपको इसे पृष्ठभूमि प्रक्रिया के रूप में चलाने की आवश्यकता होगी।

mysqldump समस्याओं के उचित हिस्से के बिना नहीं है।

<ब्लॉकक्वॉट>

यह डेटा की पर्याप्त मात्रा में बैकअप के लिए एक तेज़ या स्केलेबल समाधान के रूप में अभिप्रेत नहीं है। बड़े डेटा आकारों के साथ, भले ही बैकअप चरण में उचित समय लगता हो, डेटा को पुनर्स्थापित करना बहुत धीमा हो सकता है क्योंकि SQL कथनों को फिर से चलाने में सम्मिलन, अनुक्रमणिका निर्माण आदि के लिए डिस्क I/O शामिल है।

एक उत्कृष्ट उदाहरण यह प्रश्न देखें:अजगर का उपयोग कर MySQL बैकअप पर सर्वर क्रैश जहां एक mysqldump पहले के समाप्त होने से पहले शुरू होता प्रतीत होता है और वेबसाइट को पूरी तरह से अनुत्तरदायी बना देता है।

माइस्क्ल प्रतिकृति

<ब्लॉकक्वॉट>

प्रतिकृति एक MySQL डेटाबेस सर्वर (मास्टर) से डेटा को एक या अधिक MySQL डेटाबेस सर्वर (दास) में कॉपी करने में सक्षम बनाता है। प्रतिकृति डिफ़ॉल्ट रूप से अतुल्यकालिक है; दासों को मास्टर से अपडेट प्राप्त करने के लिए स्थायी रूप से कनेक्ट होने की आवश्यकता नहीं है। कॉन्फ़िगरेशन के आधार पर, आप किसी डेटाबेस के भीतर सभी डेटाबेस, चयनित डेटाबेस, या यहां तक ​​कि चयनित तालिकाओं को दोहरा सकते हैं।

इस प्रकार प्रतिकृति SELECT INTO OUTFILE . से अलग तरीके से काम करता है या msyqldump स्थानीय प्रतिलिपि में डेटा को लगभग अद्यतित रखना आदर्श है (सिंक में पूरी तरह से कहा होगा लेकिन दास अंतराल कहा जाता है) दूसरी तरफ यदि आप mysqldump चलाने के लिए निर्धारित कार्य का उपयोग करते हैं हर 24 घंटे में एक बार। सोचिए अगर 23 घंटे के बाद सर्वर क्रैश हो जाए तो क्या हो सकता है?

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

अतिरिक्त बैकअप

प्रतिकृति का एक विकल्प Percona XtraBackup का उपयोग करना है। .

<ब्लॉकक्वॉट>

Percona XtraBackup MySQL-आधारित सर्वरों के लिए एक ओपन-सोर्स हॉट बैकअप उपयोगिता है जो बैकअप के दौरान आपके डेटाबेस को लॉक नहीं करता है।

हालांकि Percona द्वारा, यह Mysql और Mariadb के साथ संगत है। इसमें वृद्धिशील बैकअप करने की क्षमता है, जिसके अभाव में mysqldump की सबसे बड़ी सीमा है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कॉलम की गणना दूसरे कॉलम से की जाती है?

  2. ओपन सोर्स डेटा बढ़ता है:MySQL, NoSQL, या दोनों को चुनना

  3. MySQL क्वेरी प्रदर्शन ट्यूनिंग

  4. MySQL में एक टेबल बनाएं

  5. मैं अपना MySQL उपयोगकर्ता नाम और पासवर्ड कैसे प्राप्त करूं?