MySQL डंप को कमांड लाइन से डाउनलोड करना


306

मैं लाइनोड से दूर जा रहा हूं क्योंकि मेरे पास लिनक्स सिसडमिन कौशल आवश्यक नहीं है; इससे पहले कि मैं एक अधिक नॉब-फ्रेंडली सेवा में संक्रमण को पूरा करूं, मुझे एक MySQL डेटाबेस की सामग्री डाउनलोड करनी होगी। वहाँ एक रास्ता मैं कमांड लाइन से यह कर सकता है?



mysqldump वह है जो आप ढूंढ रहे हैं।
फारुक साहिन

1
@AZinkey मुझे लगता है कि आपको उस पोस्ट कॉपी का स्वीकृत उत्तर मिल जाएगा और मेरे उत्तर की सामग्री (शब्द के लिए शब्द) को उनके उत्तर महीनों के पहले भाग में
चिपका

जवाबों:


656

आप mysqldump कमांड-लाइन फ़ंक्शन का उपयोग करके इसे पूरा कर सकते हैं ।

उदाहरण के लिए:

यदि यह संपूर्ण DB है, तो:

   $ mysqldump -u [uname] -p db_name > db_backup.sql

यदि यह सभी DBs है, तो:

   $ mysqldump -u [uname] -p --all-databases > all_db_backup.sql

यदि यह एक डीबी के भीतर विशिष्ट तालिकाओं है, तो:

   $ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql

आप gzip का उपयोग करके आउटपुट को ऑटो-कंप्रेस करने के लिए भी जा सकते हैं (यदि आपका DB बहुत बड़ा है):

   $ mysqldump -u [uname] -p db_name | gzip > db_backup.sql.gz

यदि आप इसे दूरस्थ रूप से करना चाहते हैं और आपके पास प्रश्न में सर्वर तक पहुंच है, तो निम्नलिखित कार्य करेगा (MySQL सर्वर को मानकर पोर्ट 3306 पर है):

   $ mysqldump -P 3306 -h [ip_address] -u [uname] -p db_name > db_backup.sql

यह .sqlउस फ़ोल्डर में फ़ाइल को छोड़ देना चाहिए जिसे आप कमांड-लाइन से चलाते हैं।

EDIT: CLI कमांड में पासवर्ड को शामिल करने से बचने के लिए अपडेट किया गया, -pपासवर्ड के बिना विकल्प का उपयोग करें । यह आपको इसके लिए संकेत देगा और इसे रिकॉर्ड नहीं करेगा।


1
साथ संयोजन के रूप में आपका जवाब stackoverflow.com/questions/2989724/... - के बाद से वह उसे जरुरत है इसे डाउनलोड शामिल किया है, वह क्या पूछ रहा है करना चाहिए। यह या तो है कि या एक wgetया scpएक बार बनाया कहा फ़ाइल को प्राप्त करने की आवश्यकता होगी।
ज़क

47
छोटे नोट यह सही है कि कमांड में पासवर्ड सही से न डालें। पासवर्ड के बिना केवल -p विकल्प का उपयोग करने पर पासवर्ड चलाने के लिए संकेत मिलेगा, उस तरह से पासवर्ड आपके कमांड इतिहास में संग्रहीत नहीं है (और संभवतः पुनर्प्राप्त)। इसलिए निम्नलिखित कमांड का उपयोग कर रहे हैं: mysqldump -P 3306 -h [ip_address] -u [uname] -p db_name> db_backup.sql
पिट

3
>बचाने के लिए उपयोग करने के बजाय, मैं -rविदेशी पात्रों के साथ परेशानी को रोकने के लिए उपयोग करता हूं , या उस दुःस्वप्न को एन्कोडिंग समस्याओं से संबंधित है, जैसा कि इस लेख में कहा गया है
पाथ्र्स

1
बड़े / सक्रिय रूप से अपडेट किए गए डेटासेट के लिए, --single-transaction पैरामीटर का उपयोग करें। यह एक चौकी बनाता है और स्थिरता सुनिश्चित करने में मदद करता है। इसके अलावा, स्विचेस का उपयोग करें
ट्राउटाइनर्स

1
आपको --result-file=db_backup.sqlइसके बजाय उपयोग करना चाहिए > db_backup.sqlMySQL डॉक्यूमेंटेशन से उद्धरण : "UTF-16 को एक कनेक्शन कैरेक्टर सेट ( इम्प्रिसेबल क्लाइंट कैरेक्टर सेट देखें ) के रूप में अनुमति नहीं है , इसलिए डंप फ़ाइल सही तरीके से लोड नहीं होगी। इस मुद्दे के आसपास काम करने के लिए, --result-fileविकल्प का उपयोग करें , जो आउटपुट बनाता है। ASCII प्रारूप "।
मार्टिन ब्रौन

13

Mysql के नवीनतम संस्करणों में, कम से कम खान में, आप अपना पास सीधे कमांड में नहीं डाल सकते।

आपको दौड़ना होगा:

mysqldump -u [uname] -p db_name > db_backup.sql

और फिर यह पासवर्ड के लिए पूछेगा।


2
-pविकल्प और वास्तविक पासवर्ड के बीच की जगह को हटाता है
y2k-shubham

8

यदि दूरस्थ सर्वर से डाउनलोड किया जाता है, तो इसका एक सरल उदाहरण है:

mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql

-P इंगित करता है कि आप एक पासवर्ड दर्ज करेंगे, यह db_name से संबंधित नहीं है। कमांड दर्ज करने के बाद आपको पासवर्ड के लिए संकेत दिया जाएगा। इसे टाइप करें और एंटर दबाएं।


5

खिड़कियों पर आपको mysql बिन को निर्दिष्ट करना होगा जहां mysqldump.exe रहता है।

cd C:\xampp\mysql\bin

mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql

इसे एक टेक्स्ट फाइल जैसे कि backup.cmd में सेव करें


या आमतौर पर आपके पैट वैरिएबल में mysql होने से आप mysqlनिर्देशिका में होने के बिना हर जगह से कमांड चला सकते हैं ।
behz4d

2

कमांड प्रॉम्प्ट खोलें, और सीधे इस कमांड को टाइप करें। Mysql के अंदर मत जाओ और फिर यह कमांड टाइप करें।

mysqldump -u [uname] -p[pass] db_name > db_backup.sql

1
5-वर्षीय प्रश्न पर स्वीकृत उत्तर से कोड की पहली पंक्ति को कॉपी करना कर्म की खेती के लिए एक साहसिक रणनीति है।
फिलिप

मैंने इस MySQLdump कमांड को Mysql प्रॉम्प्ट के अंदर आज़माया और काम नहीं किया। तो बस जवाब दिया :-)
नितिन राजा

2

MySQL स्थापना निर्देशिका पर जाएं और वहां से cmd खोलें। फिर अपने डेटाबेस का बैकअप लेने के लिए नीचे दिए गए कमांड को निष्पादित करें।

mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql

1

बस टाइप करें mysqldumpया mysqldump --helpअपने cmd में दिखाएंगेhow to use

यहाँ मेरा cmd परिणाम है

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

1

यदि आप डिफ़ॉल्ट पोर्ट के अलावा MySQL चला रहे हैं:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql

1

उन लोगों के लिए जो कमांड लाइन के भीतर पासवर्ड टाइप करना चाहते हैं। यह संभव है लेकिन उद्धरण के अंदर इसे पारित करने की सलाह देते हैं ताकि विशेष चरित्र किसी भी मुद्दे का कारण न बने।

mysqldump -h'my.address.amazonaws.com' -u'my_username' -p'password' db_name > /path/backupname.sql

-1

इसका उपयोग करें यदि आपके पास संग्रहित नाम वाला डेटाबेस है, तो इस mysql -p --dat डेटाबेस archiedb> /home/database_backup.sql का उपयोग करें

यह लिनेक्स है, यह मानते हुए कि बैकअप फ़ाइल कहाँ सहेजी जाएगी।


शेल> mysqldump -p mypassword --dat डेटाबेस mydb> /home/backup.sql।
नबासा आर्ची

-1

विंडोज उपयोगकर्ताओं के लिए आप कमांड चलाने के लिए अपने mysql फ़ोल्डर में जा सकते हैं

जैसे

cd c:\wamp64\bin\mysql\mysql5.7.26\bin
mysqldump -u root -p databasename > dbname_dump.sql

1
प्रश्न ने सुझाव दिया कि MySQL लिनक्स पर चल रहा है।
गमच

-1

नोट: यह कदम केवल आपकी MySQL फ़ाइल को डंप करने के बाद आता है (जो कि ऊपर दिए गए अधिकांश उत्तरों ने संबोधित किया है)।

यह मानता है कि आपके पास आपके दूरस्थ सर्वर में उक्त डंप फ़ाइल है और अब आप इसे अपने स्थानीय कंप्यूटर पर लाना चाहते हैं।

.sqlअपने दूरस्थ सर्वर से अपने स्थानीय कंप्यूटर पर डंप की गई फ़ाइल को डाउनलोड करने के लिए , करें

scp -i YOUR_SSH_KEY your_username@IP:name_of_file.sql ./my_local_project_dir
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.