यह मेरे साथ अभी हुआ और कुछ समय बाद मुझे एक ब्लॉग लेख पर उत्तर मिला, और मैं इसे यहाँ भी रखना चाहता था।
यदि आप MySQL डेटा निर्देशिका को /var/lib/mysql
. से कॉपी करते हैं से /path/to/new/dir
, लेकिन केवल डेटाबेस फ़ोल्डरों की प्रतिलिपि बनाएँ (अर्थात mysql
, wpdb
, ecommerce
, आदि) और आपके पास innodb टेबल हैं, आपकी innodb टेबल 'शो टेबल' में दिखाई देंगी लेकिन उन पर प्रश्न (select
और describe
) विफल हो जाएगा, त्रुटि के साथ Mysql error: table db.tableName doesn't exist
. आप देखेंगे .frm
db निर्देशिका में फ़ाइल करें, और आश्चर्य करें कि क्यों।
इनोडब टेबल के लिए, ib*
. पर कॉपी करना महत्वपूर्ण है फ़ाइलें, जो मेरे मामले में ibdata1
. थीं , ib_logfile0
, और ib_logfile1
. एक बार जब मैंने स्थानांतरण कर दिया और सुनिश्चित कर लिया कि मैं उन्हें कॉपी करना चाहता हूं, तो सब कुछ उम्मीद के मुताबिक काम करता है।
यदि आपकी my.cnf फ़ाइल में "innodb_file_per_table" है तो .ibd फ़ाइल db निर्देशिका में मौजूद होगी लेकिन आपको अभी भी ib* फ़ाइलों की आवश्यकता होगी।