InnoDB बफर पूल आकार बढ़ाएँ


11

मुझे MySql InnoDB के लिए बफ़र पूल आकार और लॉग फ़ाइल आकार सेट करने में कठिनाई हो रही है। मैं ने MySQL विशेषज्ञ से दूर हूँ, लेकिन चारों ओर पढ़ रहा है और यह है कि बदलने के लिए इस मैं बस अपना /etc/mysql/my.cnf ये पंक्तियां जोड़ें लगता है

# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M

सर्वर स्मृति के 7GB के बारे में है और यह भी एक वेब सर्वर चल रहा है तो मुझे लगता है इन नंबरों एक ठीक प्रारंभिक बिंदु होना चाहिए। सर्वर को सहेजने और फिर से शुरू करने के बाद हालांकि ऐसा नहीं लगता है कि परिवर्तन प्रभावी हुए हैं। मैंने माईक्स्लटनर चलाने की कोशिश की जिसमें बताया गया कि बफर पूल अभी भी 16.0M पर है। कोई आइडिया है कि मैं क्या गलत कर रहा हूँ? मुझे बताएं कि क्या आप कॉन्फिग फाइल अधिक देखना चाहते हैं। धन्यवाद!


क्या वितरण? क्या आप डिस्ट्रो के पैकेज का उपयोग कर रहे हैं या कुछ और? आप mysql कैसे शुरू कर रहे हैं? संक्षेप में, आपने क्या स्थापित किया, आपने इसे क्या स्थापित किया, और आपने इसे कैसे स्थापित किया?
नवाहो

यह Ubuntu सर्वर x64 के शीर्ष पर डिफ़ॉल्ट लैंप स्टैक है
tgrosinger

एक अन्य कॉन्फिग फ़ाइल / ऑप्ट / लैम्प / आदि में स्थित है जो मुझे विश्वास है कि काम करने जा रहा है।
tgrosinger

जवाबों:


7

सुनिश्चित करें कि उन पंक्तियों के भीतर कर रहे हैं [mysqld]के बाद खंड यानी [mysqld]लेकिन इससे पहले कि किसी अन्य [section]रूप में इस तरह [mysqldump]


वे [mysqld] में, सही अनुभाग में हैं ठीक पहले [mysqldump]
tgrosinger

2

जानकारी के लिए अपने MySQL त्रुटि लॉग की जाँच करें - सबसे अधिक संभावना में स्थित है /var/lib/mysql- यह भी, यह एक 32-बिट सिस्टम है जो कि बिगमेम कर्नेल के साथ है? यदि हां, तो आप MySQL के लिए 2GB से अधिक का पता नहीं कर सकते हैं।

इसके अलावा - आप बफर पूल के आकार के बारे में खुद MySQL से पुष्टि करना चाहते हैं - 16MB थोड़ा बंद लगता है, डिफ़ॉल्ट पर विचार करना 128M है। आप उस सर्वर के लिए एक MySQL सत्र में टाइपिंग 'शो चर की तरह' innodb_buffer_pool_size 'द्वारा इस बात की पुष्टि कर सकते हैं। परिणाम बाइट्स में है।


किसी कारण से मैं उस निर्देशिका में नहीं जा सकता। मैं इसे देख सकता हूँ जब मैं / var / lib पर ls करता हूं लेकिन जब मैं इसे cd करने की कोशिश करता हूं तो मुझे "अनुमति अस्वीकृत" मिलती है। अगर मैं sudo के रूप में cd करने की कोशिश करता हूं तो यह कहता है "ऐसी कोई फ़ाइल या निर्देशिका नहीं"। विचार? यह Ubuntu सर्वर के एक 64 बिट स्थापना है।
tgrosinger

आप अपने my.cnf पोस्ट करना चाहिए (/etc/my.cnf या डेबियन पर शायद /etc/mysql/my.cnf)
thinice

भी - आप बफर पूल आकार के बारे में MySQL से ही पुष्टि करना चाहते हैं - 16 एमबी थोड़ा बंद लगता है, डिफ़ॉल्ट पर विचार करना 128M है। आप उस सर्वर के लिए MySQL सत्र में 'SHOW VARIABLES LIKE' innodb_buffer_pool_size टाइप करके इसकी पुष्टि कर सकते हैं। परिणाम बाइट्स में है।
थिनिस

1
sudo cdकाम नहीं करेगा क्योंकि सूडो सही विशेषाधिकार के साथ एक उप-समूह बनाता है और समाप्त होने पर इसे बंद कर देता है, जिससे आप शुरू कर चुके हैं। sudo -sइसके बजाय कोशिश करें ।
लदाददादा

तो जब मैं का उपयोग शो चर की तरह ... यह कहना है बफर पूल आकार 16777216 जो मेरा मानना है कि इस तथ्य 16M में है। यहाँ वें my.cnf है: hastebin.com/binaqeforu.vala बहुत बहुत धन्यवाद!
tgrosinger

2

मेरे मामले में समस्या यह थी innodb_buffer_pool_instances

चूँकि मैं कम कर रहा था innodb_buffer_pool_size, यह प्रति उदाहरण 1GB से कम हो गया, इसलिए इसने इसे समाप्त कर दिया।

जब मैंने भी उदाहरणों को कम कर दिया, तो आखिरकार इसने पूल का आकार बदल दिया !


0

हो सकता है कि आप mysql को --no-defaults या (-no-defaults) के साथ शुरू करें, जिसके कारण यह बिल्कुल भी कॉन्फिगरेशन लोड नहीं करता है। Theres --defaults-file (या -Dfault-file, निश्चित नहीं), जिसके कारण यह एक विशिष्ट विन्यास लोड करता है। यह भी जांच लें कि क्या आप जो संपादन करते हैं, उससे भिन्न विन्यास में है।

आप के साथ शुरू करने की कोशिश कर सकते हैं:

--innodb_buffer_pool_size=2048M --innodb_log_buffer_size=512M

या आप पहले से शुरू कर रहे पैरामाटर्स को चबाएं और देखें कि उनमें से कोई एक इसे कॉन्फ़िगर करने से चूकता है या नहीं।


मैं कैसे देख सकता हूं कि यह ubuntu में कैसे शुरू हो रहा है? मैं आर्च करने के लिए उपयोग किया जाता था मैं इसे rdd फ़ाइल में जोड़ दूंगा, लेकिन मुझे इसमें ऐसा कुछ नहीं दिखाई दे रहा है।
tgrosinger

जबकि उबंटू SysV Init का उपयोग करता आर्क, बीएसडी शैली Init उपयोग करता है। इसलिए इसे शुरू करने के लिए /etc/init.d में एक फ़ाइल है और संभवतः / etc / चूक में एक फ़ाइल है जहाँ विकल्प सेट किए जा रहे हैं। 'Ps -ef की तर्ज पर कुछ का उपयोग करके | grep mysql 'आप देख सकते हैं कि यह वर्तमान में किन विकल्पों के साथ चल रहा है।
जूही
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.