यह सवाल थोड़ा पुराना है लेकिन मैंने वैसे भी इसका जवाब देने का फैसला किया है क्योंकि मैं इस पर कुछ खुदाई कर रहा हूं। मेरा उत्तर linux फाइल सिस्टम पर आधारित है। मूल रूप से mySQL आपकी हार्ड डिस्क में फ़ाइलों में डेटा संग्रहीत करता है। यह फ़ाइलों को एक विशिष्ट निर्देशिका में संग्रहीत करता है जिसमें सिस्टम चर "डेटादिर" होता है। एक mysql
खोलना कंसोल और निम्न कमांड चलाने से आपको पता चल जाएगा कि फ़ोल्डर कहाँ स्थित है।
mysql> SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)
जैसा कि आप उपरोक्त आदेश से देख सकते हैं, मेरा "डेटादिर" /var/lib/mysql/
में स्थित था . विभिन्न प्रणालियों में "डेटादिर" का स्थान भिन्न हो सकता है। निर्देशिका में फ़ोल्डर और कुछ कॉन्फ़िगरेशन फ़ाइलें हैं। प्रत्येक फ़ोल्डर एक mysql डेटाबेस का प्रतिनिधित्व करता है और इसमें उस विशिष्ट डेटाबेस के लिए डेटा वाली फ़ाइलें होती हैं। नीचे मेरे सिस्टम में "datadir" निर्देशिका का एक स्क्रीनशॉट है।
निर्देशिका में प्रत्येक फ़ोल्डर एक MySQL डेटाबेस का प्रतिनिधित्व करता है। प्रत्येक डेटाबेस फ़ोल्डर में ऐसी फ़ाइलें होती हैं जो उस डेटाबेस में तालिकाओं का प्रतिनिधित्व करती हैं। प्रत्येक तालिका के लिए दो फ़ाइलें हैं, एक .frm
. के साथ एक्सटेंशन और दूसरा .idb
. के साथ विस्तार। नीचे स्क्रीनशॉट देखें।
.frm
तालिका फ़ाइल तालिका के प्रारूप को संग्रहीत करती है। विवरण:MySQL .frm फ़ाइल स्वरूप
.ibd
फ़ाइल तालिका के डेटा को संग्रहीत करती है। विवरण:InnoDB फाइल-प्रति-टेबल टेबलस्पेस
ए>
यही लोग हैं! मुझे आशा है कि मैंने किसी की मदद की।