जवाबों:
फ़ाइल ibdata1, InnoDB इन्फ्रास्ट्रक्चर के लिए सिस्टम टेबलस्पेस है।
इसमें InnoDB के लिए महत्वपूर्ण जानकारी के लिए कई कक्षाएं शामिल हैं
एक चित्रात्मक प्रतिनिधित्व देखने के लिए यहां क्लिक करें
आप innodb_file_per_table को सक्षम करके ibdata1 से डेटा और इंडेक्स पेज को तलाक दे सकते हैं । यह किसी भी नई बनाई गई InnoDB तालिका को बाहरी .ibd
फ़ाइल में डेटा और इंडेक्स पेज संग्रहीत करने का कारण बनेगा ।
उदाहरण
CREATE TABLE mydb.mytable (...) ENGINE=InnoDB;
, बनाता है /var/lib/mysql/mydb/mytable.frm
/var/lib/mysql/mydb/mytable.ibd
कोई बात नहीं जहां InnoDB तालिका संग्रहीत की जाती है, InnoDB की कार्यक्षमता को AC मेटा अनुपालन और लेनदेन अलगाव का समर्थन करने के लिए MVCC जानकारी को संग्रहीत करने और पुनर्प्राप्त करने की आवश्यकता होती है ।
यहाँ ibdata1 से टेबल डेटा और इंडेक्स को अलग करने पर मेरे पिछले लेख हैं
Oct 29, 2010
: StackOverflow में मेरा मूल पोस्टNov 26, 2011
: फाइल में 6308 लाइन पर ERROR 1114 (HY000) और तालिका user_analysis भरा हुआ हैFeb 03, 2012
: MySQL InnoDB में तालिकाओं का अनुसूचित अनुकूलनMar 25, 2012
: InnoDB सभी डेटाबेस को एक फ़ाइल में क्यों रखता है?Apr 01, 2012
: क्या innodb_file_per_table उचित है?ib_logfile0
, ib_logfile1
)यदि आप यह जानना चाहते हैं कि क्या हैं ib_logfile0
और क्या ib_logfile1
हैं, तो वे InnoDB Redo Logs हैं। जब तक mysqld का पूर्ण सामान्य शटडाउन नहीं हुआ है, तब तक उन्हें कभी भी मिटाया या आकार नहीं दिया जाना चाहिए । यदि mysqld कभी दुर्घटनाग्रस्त हो जाता है, तो बस mysqld शुरू करें। यह भर में पढ़ा जाएगा ib_logfile0
और ib_logfile1
किसी भी डेटा परिवर्तन है कि में डबल लिखने बफर करने के लिए तैनात नहीं किया गया है के लिए जाँच करने के लिए ibdata1
। यह उन बदलावों को फिर से करेगा। एक बार जब वे पुन: व्यवस्थित और संग्रहीत हो जाते हैं, तो mysqld नए DB कनेक्शंस के लिए तैयार हो जाता है।
innodb_file_per_table disabled, Data/Index Pages Stored in /var/lib/mysql/mydb/mytable.ibd
और innodb_file_per_table enbled, Data/Index Pages Stored in ibdata1
इसके विपरीत, यह नहीं होना चाहिए?