2009-06-16 22 views
15

मैं अपने कंप्यूटर की रैम में एक MYSQL-डेटाबेस लोड करना चाहता हूं, क्या ऐसा करने का कोई तरीका है? मैं इस डेटाबेस को लिनक्स के तहत चला रहा हूं। साथ ही, यदि यह संभव है, तो बैकअप बनाने का कोई अच्छा तरीका है, क्योंकि यदि कंप्यूटर अप्रत्याशित रूप से बंद हो गया है, तो मैं अपना पूरा डेटा खो दूंगा।क्या रैम में डेटाबेस लोड करना संभव है?

+0

विंडोज सिस्टम में यह कैसे करें? –

उत्तर

5

बिल्कुल, लिनक्स के तहत उदाहरण के लिए यदि आप एक tmpfs

+0

यदि आप बैकअप डेटाबेस के लिए नियमित स्नैपशॉट करने में सक्षम हैं तो यह एक व्यवहार्य समाधान हो सकता है। अन्यथा क्रैश के मामले में डीबी को रीबूट के रूप में खो दिया जाता है, tmpfs में सबकुछ खो जाएगा – jitter

+1

यह परीक्षण चलाने के लिए बहुत अच्छा काम करता है! :) – mkrmr

10

में अपने डेटाबेस माउंट हाँ, आप MEMORY engine उपयोग कर सकते हैं कर सकते हैं। जहां तक ​​बैकअप है, यह आपका कॉल है। आपने कभी नहीं कहा, उदा। आप डिस्क पर कितनी बार स्टोर करना चाहते हैं। लेकिन आप पारंपरिक MySQL replication या अपने स्वयं के समाधान का उपयोग कर सकते हैं।

+0

लेकिन जब आप माईस्क्लेसर को बंद करते हैं तो मेमरी टेबल में संग्रहीत सभी पंक्तियां खो जाती हैं – jitter

+1

हां, जिटर, यह सच है। यह मोर्क का कॉल है कि इसे कैसे संभाला जाए। –

19

यदि आप बफर पूल काफी बड़ा है, तो डेटा डिस्क प्रभावी रूप से डिस्क बैकअप प्रति के साथ एक मेमोरी डेटाबेस है। राम डेटाबेस के साथ चारों ओर मूर्ख मत बनो, बस बफर पूल आकार जितना बड़ा हो उतना बड़ा बनाओ। आप InnoDB टेबल उपयोग कर रहे हैं तो मैं बफर पूल आकार समायोजित करते रहें S.Lott की तरह ऊपर सुझाए गए

http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size

4

:

इस पढ़ें। यदि आपके पास रैम है तो इसे अपने डेटाबेस आकार का 110% या उससे अधिक बनाएं।

यदि आपका डेटाबेस> 50 एमबी है तो आप innodb_log_file_size को बढ़ाने पर भी देखना चाहेंगे। http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_log_file_size शायद अपने बफर पूल आकार के लगभग 25 - 50% तक, लेकिन 1 जीबी अधिकतम देखें।

innodb_log_file_size समायोजित करने के लिए थोड़ा मुश्किल है। आपको डीबी को बंद करने की आवश्यकता है, वर्तमान लॉग फ़ाइलों को बैकअप स्थान में ले जाएं, और mysql को पुनरारंभ होने पर उन्हें दोबारा बनाने दें (यानी। My.cnf में मानों को बदलने के बाद)। Google इसे और आपको कुछ जवाब मिलेंगे।

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