उबंटू 15.04 संस्करण में अपस्टार्ट से सिस्टमड में चला गया है और अब सिस्टम सेवाओं के लिए /etc/security/limits.conf में सीमाओं का सम्मान नहीं करता है। ये सीमाएं अब केवल उपयोगकर्ता सत्रों पर लागू होती हैं।
MySQL सेवा के लिए सीमाएं Systemd कॉन्फ़िगरेशन फ़ाइल में परिभाषित की गई हैं, जिसे आपको इसके डिफ़ॉल्ट स्थान से /etc/systemd में कॉपी करना चाहिए और फिर कॉपी को संपादित करना चाहिए।
sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
sudo vim /etc/systemd/system/mysql.service # or your editor of choice
फ़ाइल के निचले भाग में निम्न पंक्तियाँ जोड़ें:
LimitNOFILE=infinity
LimitMEMLOCK=infinity
आप एक संख्यात्मक सीमा भी निर्धारित कर सकते हैं, जैसे LimitNOFILE=4510
।
अब Systemd विन्यास को इसके साथ पुनः लोड करें:
sudo systemctl daemon-reload
MySQL को पुनरारंभ करें और इसे अब max_connections निर्देश का पालन करना चाहिए।
मुझे 15.04 में अपग्रेड करने के बाद MySQL को सफाई से रोकने में भी समस्याएँ हुईं। यदि यह आपको प्रभावित करता है (आपको पता चल जाएगा क्योंकि जब आप service mysql stop
करते हैं तो इसमें 300 सेकंड का समय लगेगा। या service mysql restart
) फिर उसी /etc/systemd/system/mysql.service फ़ाइल में निम्न पंक्ति जोड़कर मेरे लिए इसे ठीक किया:
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown
ऐसा लगता है कि यह बाद की समस्या 16.04 तक ठीक हो गई है और इस लाइन की अब आवश्यकता नहीं है, इसलिए वितरण अपग्रेड करने से पहले आप MySQL को रोकना चाहेंगे और ExecStop
को हटा देंगे। कॉन्फ़िग फ़ाइल से लाइन।