2009-05-05 8 views
6

से पुनर्स्थापित करें मैं बैकअप के लिए कमांड लाइन का उपयोग कर रहा हूं और MYSQL डेटाबेस को पुनर्स्थापित कर रहा हूं। उपयोग करें मेरे पास डेटाबेस डेटा 1 है जिसमें दृश्य और प्रक्रियाएं हैं। Cmd line में, मैं mysqldump यानीMySQL बैकअप और कमांड लाइन

..>bin> mysqldump -u root -proot Data1 > Datafile.mysql 

का उपयोग करते हैं मैं Cmd ऊपर का उपयोग करते हैं, यह साथ Dtafile.mysql नाम Mysql के बिन फ़ोल्डर पर एक बैकअप फ़ाइल बनाता है।

लेकिन बात यह है कि यह केवल टेबल्स का बैक अप बनाता है, प्रक्रिया नहीं।

और जब मैं एक खाली डाटाबेस "Data2"

..bin> mysql - u root -proot Data2 < Dataafile.mysql 

यह क्या है करता है में यह बहाल हूँ, यह सब टेबल्स बनाता है और कन्वर्ट टेबल्स में दृश्य और कोई प्रक्रिया बहाल कर दिया गया।

मतलब मैं सभी टेबल, विचारों और प्रक्रियाओं के साथ अपने पूर्ण डेटाबेस बैकअप को पुनर्स्थापित करने में सक्षम नहीं हूं।

क्या आप में से कोई भी इसे मदद कर सकता है .. मैं बेहद आभारी हूं।

उत्तर

10

mysqldump के लिए "--routines" पैरामीटर शामिल करें और यह प्रक्रियाओं को डंप करेगा।

संपादित करें # 1: आपका mysqldump कमान अब की तरह दिखना चाहिए,

mysqldump -u root -proot --routines Data1 > Datafile.mysql 

संपादित करें # 2:
साथ ही आप यदि आप चाहते हैं --add-ड्रॉप-तालिका स्विच जोड़ने की जरूरत अपने विचारों को संरक्षित करें। कारण यह है कि दृश्य दो चरणों में बनाए जाते हैं (पहले डमी टेबल के रूप में, फिर वास्तविक विचारों के रूप में)। कृपया यह भी ध्यान दें कि टेबल्स और व्यू समान नाम स्थान साझा करते हैं, इसलिए mysqlclient में "तालिकाएं दिखाएं" कमांड द्वारा दिए गए आउटपुट द्वारा गुमराह न करें। इसके बजाए "दृश्य बनाएं vw_test दिखाएं" का उपयोग करें, यदि वह आदेश आपको व्यू व्यू क्वेरी दिखाता है तो बिंगो, यह भी सुनिश्चित करने के लिए कि विचारों को बहाल किया गया है, कुछ अन्य डेटा को अपने अन्य डेटाबेस में प्रासंगिक तालिकाओं में सही ढंग से डालें और फिर एक चयन क्वेरी चलाएं देखें, यदि डेटा आपके ऊपर से जुड़ा हुआ है, तो बैल आंखों को दबाएं, अपने आप को पीछे की ओर पॅट करें :) अन्यथा आप हमेशा इस अद्भुत समुदाय में स्टैक ओवरफ्लो पर वापस आ सकते हैं।

तो (विचारों बनाए रखने के लिए) अपने mysqldump कमान अब की तरह दिखना चाहिए इस

mysqldump -u root -proot --routines --add-drop-table Data1 > Datafile.mysql 

HTH

+1

अरे मैं डंप लेने के दौरान - routines कैसे शामिल करूं ?? क्या आप थोड़ा सा –

+0

नमस्कार बताते हैं, मैंने उपयोग करने के लिए कमांड दिखाने के लिए उपरोक्त मेरा उत्तर संपादित किया है। –

+0

हाय धन्यवाद .. यह काम करता है .. एक और समस्या, मुझे सामना करना पड़ रहा है कि "डेटा 1" में मेरे पास ऐसे दृश्य हैं जो अन्य डेटाबेस को संदर्भित करते हैं। जब मैं इसे बहाल कर रहा हूं, तो यह सभी दृश्यों को तालिकाओं में परिवर्तित करता है। यानी मैं डेटा 1 में vw_test देख रहा हूं लेकिन जब मैं इसे पुनर्स्थापित करता हूं, तो यह नाम vw_test वाला एक टेबल बन जाता है। समस्या क्या होगी। मेरी मदद करें। धन्यवाद बहुत लोट। –

-1

वहाँ बैकअप डेटाबेस उपयोग कमांड लाइन, phpmyadmin या mysql व्यवस्थापक करने के लिए तीन बेहतरीन तरीके mysql डेटाबेस बैकअप है और mysql डेटाबेस बैकअप आसान तरीका में बहाल, का उपयोग

mysql administrator

phpmyadmin