2011-01-20 3 views
20

मैं सोच रहा था कि कैसे मैं निम्न फ़ाइल प्राप्त कर सकते हैं,MySQL डंप सभी डेटाबेस और आयात पर उन्हें (या मनोरंजन) बनाएँ?

mysqldump -h server -u root -p --all-databases > all_dbs.sql 

स्वचालित रूप से किसी भी डेटाबेस अभी तक नहीं बनाई गई हैं, जब आयातित बनाने के लिए। साथ ही, यदि कोई डेटाबेस पहले से मौजूद है, तो इसे फिर से बनाना चाहिए (पुराने को ओवरराइट करना)।

क्या यह संभव है? धन्यवाद!

+3

मैं सिर्फ इस्तेमाल किया "mysql -u

\n Exiting... 

:

मैं एक सर्वर है कि केवल बचाता को व्यवस्थापित करने के लिए है root -p Garrett

+0

अरे गेटेट, कृपया अपना उत्तर उत्तर के रूप में पोस्ट करें, इस तरह एक ही समस्या वाले अन्य लोग देख पाएंगे। [एफएक्यू] देखें (http://stackoverflow.com/faq)। – fredley

उत्तर

36
Export: mysqldump -u root -p --all-databases > all_dbs.sql 
Import: mysql -u root -p < all_dbs.sql 
+2

मामूली सुधार, पढ़ना चाहिए: निर्यात: mysqldump -u जड़ -p --all-डेटाबेस> all_dbs.sql – dgm

+1

'mysqldump -u [उपयोगकर्ता] -p [पासवर्ड] --all-databases' ' mysql -u [उपयोगकर्ता] -पी [पासवर्ड] noisy

+0

mysqldump के आउटपुट को यूटीएफ 8 अक्षरों को संरक्षित करने के लिए -r विकल्प के साथ पुनर्निर्देशित किया जाना चाहिए ... mysqldump -u root -p --all-डेटाबेस-r all_dbs.sql – sotn0r

7

निर्यात:

mysqldump -uroot -p --all-databases > alldb.sql 

mysqldump के लिए दस्तावेज़ देखें। आप विकल्पों टिप्पणी में उल्लेख किया है में से कुछ का उपयोग करना चाहते हो सकता है:

mysqldump -uroot -p --opt --all-databases > alldb.sql 
mysqldump -uroot -p --all-databases --skip-lock-tables> alldb.sql 

आयात:

mysql -u root -p < alldb.sql 

मैं बस एक नया समाधान पाया:

एक bash स्क्रिप्ट बनाएं। यह प्रत्येक डेटाबेस को एक अलग फ़ाइल में

#!/bin/bash 

USER="zend" 
PASSWORD="" 
#OUTPUT="/Users/rabino/DBs" 

#rm "$OUTPUTDIR/*gz" > /dev/null 2>&1 

databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database` 

for db in $databases; do 
    if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then 
     echo "Dumping database: $db" 
     mysqldump -u $USER -p$PASSWORD --databases $db > `date +%Y%m%d`.$db.sql 
     # gzip $OUTPUT/`date +%Y%m%d`.$db.sql 
    fi 
done 
1

डेटा निर्यात करने के लिए "mysql" कमांड का उपयोग नहीं करता है। इसके बजाय कृपया "mysqldump" का उपयोग करें। क्रियान्वित "mysql --user = उपयोगकर्ता नाम --password = पासवर्ड भूल गए हैं> somefile.sql" के बाद

संबंधित मुद्दे