2015-08-20 3 views
5

मेरा डेटाबेस गैर-कार्यरत सर्वर के बैकअप से है।मैं एक नए कंप्यूटर पर एक गैर-वर्किंग सर्वर के बैकअप से एक MySQL डेटाबेस का उपयोग करना चाहता हूं

मेरा डेटाबेस सर्वर पर मौजूद शिक्षक केंद्र फ़ोल्डर है, और एक्सटेंशन *.frm के साथ प्रत्येक तालिका नाम के लिए फ़ाइलें शामिल हैं।

मैं से डेटाबेस की नकल की:

C:\Users\xxx\Downloads\wamp-saved\wamp\bin\mysql\mysql5.1.36\data\ 

और चिपकाया अपने कंप्यूटर यहाँ पर फ़ोल्डर:

C:\wamp\bin\mysql\mysql5.6.17\data 

मुझे पता है दो mysql के विभिन्न संस्करणों के थे, लेकिन मैं सिर्फ कोशिश कर रहा हूँ डेटाबेस फ़ाइलों का उपयोग करें।

जब मैं नए कंप्यूटर पर PHPMyAdmin शुरू करता हूं, तो यह डेटाबेस की सूची में शिक्षक केंद्र डेटाबेस दिखाता है।

इसके अलावा, अगर मैं शिक्षक केंद्र डेटाबेस के बगल में प्लस पर क्लिक करता हूं, तो मैं अपने डेटाबेस टेबल की एक सूची देख सकता हूं!

No tables found in database.

मैं कैसे समझते हैं और मुझे नए कंप्यूटर पर teachercenter डेटाबेस पर कार्य करते हैं (PHPMyAdmin) जाने के लिए mysql मिलता है:

लेकिन अगर मैं teachercenter डेटाबेस पर क्लिक कर, मैं त्रुटि मिलती है?

मैंने wampmanager.exe को शुरू/उपयोग करने का प्रयास किया, लेकिन मुझे यह मेनू के उपयोग के लिए नहीं चल रहा है।

+1

सीधे FRM फ़ाइलों की प्रतिलिपि बनाने के बजाय मैं डेटास्बेस को .sql फ़ाइल में निर्यात करता हूं और फिर इसे आयात करता हूं। यह संभावना है कि डेटाबेस प्रकार अलग हैं; विशेष रूप से fris myisam के लिए है और innodb के साथ काम नहीं करेगा। – Shawn

+0

दुर्भाग्यवश मूल सर्वर एसक्यूएल निर्यात के लिए उपलब्ध नहीं है। मैं देखता हूं कि नया वैंप सर्वर इंजन innodb के लिए डिफ़ॉल्ट है। हालांकि, मैंने नए वैंप पर एक नई टेबल बनाई, और यह innodb इस्तेमाल किया। लेकिन जब मैंने डेटा फ़ोल्डर को देखा, तो इसमें तीन फाइलें थीं: डीबी.ओपीटी, परीक्षण @ 0020table @ 00201.frm, और परीक्षण @ 0020table @ 00201.ibd। – agershon

+0

मुझे अपनी टेबलों को बचाने की ज़रूरत है। क्या मैं एक पुराने mysql को अपने वैंप सर्वर में स्थापित कर सकता हूं जो स्टोरेज इंजन के लिए myisam का उपयोग करता है? क्या मैं वर्तमान में वैंप सर्वर mysql को इन फ़ाइलों को देखने के लिए इंजन myisam का उपयोग करने के लिए निर्देश दे सकता हूं? – agershon

उत्तर

0

क्योंकि आप यह सुनिश्चित नहीं कर सकते कि MyISAM स्टोरेज प्रारूप पीछे संगत है, तो आपका सबसे सुरक्षित विकल्प MySQL 5.1.36 स्थापित करना है, mysqldump का उपयोग अपने पूरे डेटाबेस को सादे SQL में निर्यात करने के लिए करें, MySQL 5.6.17 इंस्टॉल करें और फिर आयात करें एसक्यूएल का उपयोग कर डेटा।

इसके अलावा, यह शायद बेहतर परिणाम देता है क्योंकि आपकी अनुक्रमणिका पुनर्निर्माण की जाती है।

+0

समस्या हल हो गई है: पर: http://stackoverflow.com/questions/10934745/restore-the-mysql-database-from-frm-files मेरे probelem का एक सरल उत्तर दिया गया है, निम्नानुसार है: "हां यह संभव है। यह पर्याप्त नहीं है कि आप सिर्फ .frm फ़ाइलों को डेटाबेस फ़ोल्डर में कॉपी करें लेकिन आपको ib_logfiles और ibdata फ़ाइल को अपने डेटा फ़ोल्डर में कॉपी करने की भी आवश्यकता है। " मैंने ib_logfiles और ibdata फ़ाइल को मेरे डेटा फ़ोल्डर में कॉपी किया, और वोला! PHPMyAdmin डेटाबेस और तालिकाओं से पूरी तरह से खुश था और मैं टेबल रिकॉर्ड के एसक्यूएल निर्यात कर सकता था। – agershon

1

समस्या हल है:

पर: मेरे probelem के लिए एक सरल जवाब stackoverflow.com/questions/10934745/... दिया जाता है, इस प्रकार है:। "हाँ यह संभव है यह पर्याप्त तुम सिर्फ नकल नहीं है डेटाबेस फ़ोल्डर पर फ़ाइलों के लिए .frm लेकिन आपको ib_logfiles और ibdata फ़ाइल को अपने डेटा फ़ोल्डर में कॉपी करने की भी आवश्यकता है। " मैंने ib_logfiles और ibdata फ़ाइल को अपने डेटा फ़ोल्डर में कॉपी किया, और वोला! PHPMyAdmin डेटाबेस और इसकी तालिकाओं से पूरी तरह से खुश था और मैं टेबल रिकॉर्ड के एसक्यूएल निर्यात कर सकता था।

सारांश: * .frm फ़ाइलों के एक MySQL डेटाबेस का उपयोग करने के लिए जो आपका MySQL समझ में नहीं आता है, बस ib_logfiles और ibdata फ़ाइल को प्रतिलिपि से कॉपी करें, आपको .frm फ़ाइलों को मिला है, और इन दो फ़ाइलों को उस डेटाबेस के बगल में डेटा फ़ोल्डर जिसका आप उपयोग करना चाहते हैं। एक बार ऐसा करने के बाद, MySQL डेटाबेस इंजन आपके डेटाबेस को पहचान लेगा, और आप अपने पूर्ण परिचालन डेटाबेस पर सभी PHPMyAdmin संचालन कर सकते हैं।

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