2011-12-20 8 views
7

में mysqldump के साथ बैकअप लेने में त्रुटि हैलो मैं mysql कमांड लाइन क्लाइंट से बैकअप लेने का प्रयास कर रहा हूं। मैं उपयोगकर्ता नाम और पासवर्ड के साथ बैकअप लेने के लिए mysqldump का उपयोग कर रहा हूँ। निम्न आदेश है जिसका उपयोग मैं डेटाबेस का बैक अप लेने के लिए कर रहा हूं।mysqlump कमांड लाइन

mysql> mysqldump -u username -p password databasename > backup.sql; 

मैं निम्न त्रुटि हालांकि आदेश सही प्रतीत हो रहा है हो रही है

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'mysql 
dump -u username -p password fms > backup.sql' at line 1 

, अभी भी मैं त्रुटि मिल रही है। कृपया मुझे बताएं कि mysql कमांड लाइन से बैकअप लेने का कोई अन्य तरीका है।

अग्रिम धन्यवाद।

उत्तर

16

mysqldump एक MySQL कमांड नहीं है, यह एक कमांड लाइन उपयोगिता है। आपको इसे अपने शेल कमांड लाइन से कॉल करना होगा।

+0

मैं शेल कमांड लाइन का उपयोग कैसे करूं? – harshakasireddy

+0

उसी तरह से आप इसे 'mysql -u उपयोगकर्ता नाम -ppassword' आदेश चलाने के लिए एक्सेस कर रहे हैं - एसएसएच – Timur

+0

के माध्यम से पुनः चलाने के लिए धन्यवाद। – harshakasireddy

3

समस्या यह है कि आप एक लिनक्स खोल के बजाय एक MySQL प्रॉम्प्ट से कमांड निष्पादित कर रहे हैं। Mysql कमांड लाइन से बाहर निकलें और ओएस खोल से कमांड चलाएं (अंत में अर्धविराम हटाएं)

+0

रीप्लेइंग के लिए धन्यवाद। – harshakasireddy

2

आपके आदेश में, आपके पास -p और password के बीच कोई स्थान नहीं हो सकता है। इसके अलावा, mysqldump को कमांड लाइन पर चलाना है, न कि MySQL शेल में।

अपने कमांड लाइन पर इस प्रयास करें

mysqldump -u username -ppassword databasename > backup.sql 
+0

मैंने यह भी कोशिश की है, लेकिन मुझे कोई त्रुटि नहीं मिल रही है। मैं कमांड लाइन में mysqldump कैसे चला सकता हूं? कृपया मुझे बताओ। पुनः चलाने के लिए धन्यवाद। – harshakasireddy

+0

ओह! लंगड़ा सवाल लंग उत्तर –

2

मैं समझ नहीं आया कि अन्य लोग क्या जब तक मैं this question देखा कहने की कोशिश कर रहा था।

बात यह है कि आप "mysql.exe" तक नहीं पहुंच सकते हैं और इसमें mysqldump डाल सकते हैं। "Mysqldump.exe" एक और फ़ाइल है, इसलिए आपको इसे निष्पादन में ओएस पास पैरामीटर की कमांड लाइन से निष्पादित करना होगा।

तो, डॉस (Windows पर, बिल्कुल) में, supose है कि आप निर्देशिका में कर रहे हैं: "C: \ XAMPP \ mysql \ बिन", तो आप निम्न आदेश कॉल कर सकते हैं:

mysqldump -u root -p test > test.sql 

आप भी इस तरह यह कह सकते हैं, तो आप स्पष्ट रूप से देख सकते हैं कि जब आप किसी फ़ाइल को क्रियान्वित कर रहे हैं:

:

.\mysqldump.exe -u root -p test > test.sql 

इसे और अधिक क्रिस्टल साफ किया जा सकता है, तो आप डॉस में है कि रेखा देखना होगा

c:\xampp\mysql\bin>.\mysqldump.exe -u root -p test > test.sql 

Ps: उस कोड में आपको निष्पादन के बाद पासवर्ड सूचित करने के लिए कहा जाएगा। वास्तव में, यह सिफारिश है कि "mysqldump.exe" आपको देता है अगर आप सीधे डंप लाइन में पासवर्ड डालते हैं।

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

Ps 3: "test.sql" "mysqldump.exe" की एक ही निर्देशिका में बनाया जाएगा। इस उदाहरण में, में: "सी: \ xampp \ mysql \ bin"।

1

प्रकार यह आपके कमांड लाइन इंटरफेस में नहीं MYSQL में कमांड लाइन:

mysqldump -u username -ppassword databasename > backup.sql 

उदाहरण के लिए, यदि उपयोगकर्ता नाम 'जड़' है, पासवर्ड, तो है 'abcdefg', और डेटाबेस का नाम 'mydatabase' है वाक्य रचना है:

mysqldump -u root -pabcdefg mydatabase > backup.sql 

backup.sql फ़ाइल ताकि आप किसी भी नाम हो सकता है, जिसमें अपने बैकअप संग्रहीत किया जाएगा का नाम है।

+0

मौजूदा उत्तरों में कुछ भी नहीं जोड़ता है। – hawk