2011-12-09 3 views

उत्तर

45

साथ यह प्रयास करें आप SSH के लिए उपयोग मिल गया है?

आप एक पूरे डेटाबेस बैकअप के लिए खोल में इस आदेश का उपयोग कर सकते हैं:

mysqldump -u [username] -p[password] [databasename] > [filename.sql] 

यह वास्तव में एक आदेश > ऑपरेटर, जो कहते हैं के बाद है, "पिछला आदेश के उत्पादन लेने के लिए और में संग्रहीत यह फ़ाइल।"

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

+6

मैन mysql: यदि आप शॉर्ट ऑप्शन फॉर्म (-पी) का उपयोग करते हैं, तो आप ** नहीं कर सकते * * विकल्प और पासवर्ड के बीच ** ** स्पेस ** है। –

+1

यदि आप एसएसएच का उपयोग करते हैं तो वास्तविक डेटा –

+0

के बीच "कोई स्थान" नहीं बताते हैं, तो आपको एससीपी या एसएफटीपी उपयोग का उल्लेख स्थानीय पीसी में डंप फ़ाइल को स्टोर करने के लिए करना चाहिए जैसा कि – imakin

31

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

mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql] 

यह सुनिश्चित करें कि डंप एक एकल लेनदेन है कि दूसरों से अलग है, एक आंशिक लेन-देन का बैकअप को रोकने में चलाया जाता है बनाता है: इस मामले में।

उदाहरण के लिए, मान लें कि आपके पास एक गेम सर्वर है जहां लोग अपने खाते के क्रेडिट के साथ गियर खरीद सकते हैं। अनिवार्य रूप से डेटाबेस के खिलाफ 2 संचालन कर रहे हैं:

  1. अपने क्रेडिट से राशि काट
  2. अगली बार उनके शस्त्रागार करने के लिए गियर जोड़े

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

हालांकि यह सिर्फ विकल्प है, मूल रूप से ऐसा नहीं है कि आप mysqldump के साथ इस विकल्प का उपयोग क्यों नहीं करते हैं।

+0

प्रश्न में पूछा गया है, एक लाइफसेवर हो सकता है, धन्यवाद !!! –

+0

अच्छा जोड़ा !! –

18

यह विषय मेरे Google परिणाम के पहले पृष्ठ पर दिखाई देता है, इसलिए यहां नए comers के लिए एक छोटी उपयोगी युक्ति है।

तुम भी एसक्यूएल डंप और एक लाइन में यह gzip सकता है:

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz] 
2
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql] 
+3

क्या यह वास्तव में '-p [password] 'है और' -p [password]' नहीं है? –

+3

@ArtjomB। हां, और यदि आपके पास पासवर्ड हैं तो विशेष वर्ण उद्धरण में डालते हैं: '-p'pa $$ w0rd !!!!' ' –

-1

आप एक अन्य तरीके से चुन सकते हैं:

mysql -u [username] [databasename] 

और की तरह अपने एसक्यूएल फ़ाइल का चयन:

source mydumpdatabase.sql 
+0

इस प्रकार आप बैकअप को पुनर्स्थापित करते हैं, न कि आप कैसे बनाते हैं। – Quentin