सवाल क्या एक / var बैकअप से MySQL डेटाबेस प्राप्त करने का कोई तरीका है?


मैं से उन्नयन किया Ubuntu 12.10 सेवा मेरे Ubuntu 13.10। कुछ समय बाद, मैंने पाया कि मैंने अपने सभी MySQL डेटाबेस निर्यात नहीं किए हैं। उनमें से कुछ गायब हैं। मेरे पास अभी भी मेरा बैकअप है /var/ विभाजन, लेकिन मैं सिर्फ गायब डेटाबेस (निर्देशिका) को कॉपी नहीं कर सकता /var/lib/mysql/, यह काम नहीं करेगा। MySQL-daemon पुनरारंभ करने में विफल हो जाएगा।

मैं पूरे वर्तमान को प्रतिस्थापित नहीं कर सकता /var/lib/mysql/ बैक-अप के साथ या तो, बस मैं लापता टेबल निर्यात कर सकता हूं और नई निर्देशिका को वापस ले जा सकता हूं और निर्यात की गई टेबल आयात कर सकता हूं। डेटाबेस और टेबल में दिखाया गया था phpMyAdmin, लेकिन सभी सामग्री खाली थी।

कष्टप्रद बात यह है कि, डेमोन जल्दी से घूमने के बाद फिर से शुरू हो जाएगा। MySQL बदल गया है * एक संवेदनशील छोटी लड़की में। जब मैं अपनी (नई, अनछुए और पोस्ट-अपग्रेड) mysql निर्देशिका की एक सटीक प्रतिलिपि वापस ले जाता हूं, तो यह अभी भी पुनरारंभ नहीं होगा और मुझे करना होगा apt-get install mysql-server-5.5 --reinstall इसके लिए agian काम करने के लिए।

तो, क्या कोई तरीका है कि मैं बैक अप फ़ाइलों से डेटाबेस वापस प्राप्त कर सकता हूं? वे वहां इतनी आसानी से बैठे हैं, बिल्कुल डेटाबेस की तरह नामित, फाइलों की तरह फाइलों के साथ।

*) यह काम करने के लिए प्रयोग किया जाता था। आम तौर पर मैं अपनी सामग्री निर्यात करता हूं, इसलिए पिछली बार मैंने ऐसा कुछ साल पहले किया था, लेकिन यह काम करता था। अब MySQL एक crybaby की तरह काम करता है। नया हमेशा बेहतर नहीं होता है।

कम से कम MongoDB बस जो भी फाइलें डालता है वह खाता है /var/lib/mongodb जब तक यह उचित है bson

हालांकि त्रुटि लॉग बहुत verbose है, यह वास्तव में मेरी मदद नहीं करता है।

इनमें से एक सौ:

131120 5:23:48 [ERROR] कुछ_डेटा / कुछ_टेबल से तालिका नहीं ढूंढ या खोल सकता है   InnoDB का आंतरिक डेटा शब्दकोश हालांकि .frm फ़ाइल के लिए   टेबल मौजूद है हो सकता है कि आपने इनो डीबी डेटा को हटा दिया और फिर से बनाया हो   फाइलें लेकिन संबंधित .frm फ़ाइलों को हटाने के लिए भूल गए हैं   InnoDB तालिकाओं का, या आप किसी अन्य डेटाबेस में .frm फ़ाइलों को स्थानांतरित कर चुके हैं?   या, तालिका में इंडेक्स हैं जो इंजन का यह संस्करण है   समर्थन नहीं करता है।   देख http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html   आप समस्या को कैसे हल कर सकते हैं।

और InnoDB के बारे में कुछ अन्य संदेश जिन्हें मैं पुन: उत्पन्न नहीं कर सकता क्योंकि मैंने एन-वें समय के लिए mysql को पुनर्स्थापित करते समय गलती से मेरे संपादक में लॉग को ताज़ा कर दिया था।

वैसे भी इन InnDDB सामान क्या है? यह कमजोर छोटे बहुमुखी भाई या उगाए जाने वाले और बहुमुखी MySQL की बहन की तरह है। उन्होंने इसे सर्वर 5.5 में डिफ़ॉल्ट बना दिया। शायद अच्छे कारण के साथ, लेकिन अब तक यह मुझे कोई सैंडविच नहीं बना।


1
2017-11-20 04:59


मूल




जवाब:


InnoDB एक भंडारण इंजन है, बस की तरह MyISAM है।

फाइलों की प्रतिलिपि बनाने की पुरानी विधि अभी भी माईसैम डेटाबेस के साथ काम करती है, लेकिन इनो डीबी में कुछ विशेषताएं हैं (जैसे कि एसीआईडी ​​और फाइनर लॉकिंग कंट्रोल का पालन करना) जो कि अब काम नहीं कर रहे हैं।

StackOverflow पर यह धागा कुछ जवाब है एक InnoDB डेटाबेस को पुनर्स्थापित कैसे करें फाइलों से


2
2017-11-20 08:50



उस उत्तर से लिंक करें: percona.com/docs/wiki/innodb-data-recovery-tool:start - Redsandro