MySQL त्रुटि कैसे ठीक करें: बहुत सारे कनेक्शन

MySQL त्रुटि का परिचय: बहुत सारे कनेक्शन

जब आपके पास एक वेब एप्लिकेशन (साइट, ब्लॉग, फ़ोरम, इत्यादि) होता है जो उच्च मांग में होता है, अर्थात, बड़ी संख्या में उपयोगकर्ता आते हैं, तो यह सर्वर पर बढ़ी हुई खपत में बदल जाता है। अगर कहा जाता है कि वेब ऐप MySQL डेटाबेस का उपयोग करता है और प्रश्न वास्तव में कई हैं (वेब की खराब प्रोग्रामिंग या वेब का उपयोग करने वाले कई उपयोगकर्ताओं के कारण), ऐसी संभावना है कि MySQL इस त्रुटि को दिखाएगा:

mysqli_connect(): (HY000/1040): Too many connections

MySQL क्या है: बहुत अधिक कनेक्शन त्रुटि का मतलब है?

इसका अर्थ है कि MySQL में बहुत सारे अनुरोध आ रहे हैं, जितना यह स्वीकार कर सकता है, उससे अधिक यह कतार या प्रतीक्षा कर सकता है।

इसे कैसे हल करें?

सरल, हमें MySQL का समर्थन करने वाले अनुरोधों (कनेक्शनों) की अधिकतम सीमा बढ़ानी चाहिए।

मैं आपको इस समस्या को ठीक करने के लिए दो विकल्प दूंगा:

1. हम फ़ाइल /etc/mysql/my.cfg संपादित करते हैं:

nano /etc/mysql/my.cfg

इसमें हम निम्नलिखित कहते हैं कि यह कहां है [mysql]:

max_connections = 500 max_user_connections = 500

यह अधिकतम 100 (जो कि डिफ़ॉल्ट है) से 500 तक कनेक्शनों की संख्या बढ़ाएगा।

हम सहेजते हैं और बाहर निकलते हैं, फिर हम MySQL सेवा को पुनरारंभ करते हैं और यही है। यह परिवर्तन स्थायी है।

2. इस समस्या को हल करने का दूसरा तरीका अधिकतम सीमा को बराबर बदलना है, लेकिन MySQL क्वेरी के माध्यम से।

आइए पहले वर्तमान सीमा दिखाएं:

mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'

यह हमें कुछ इस तरह दिखाएगा:

+ ----------------- + ------- + | चर_नाम | मान | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

दूसरे शब्दों में, वर्तमान सीमा 151 कनेक्शन है, ठीक है, इसे किसी प्रश्न के माध्यम से 500 तक बढ़ाते हैं:

mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'

तैयार!

इस तरह से समस्या यह है कि जब सेवा को पुनरारंभ किया जाता है, तो यह कॉन्फ़िगरेशन खो जाता है।

इस विवरण की आपूर्ति करने के लिए, आप एक बैश स्क्रिप्ट बना सकते हैं जिसे हर X समय सत्यापित करता है, या यहां तक ​​कि डेमॉन के स्टार्ट या रिस्टार्ट ब्लॉक में लाइन जोड़ता है

लेकिन फिर मैं इस 2 विकल्प को क्यों जानना चाहता हूं? ... अच्छा, यही मैं कहता था। लेकिन एक महीने पहले उबंटू सर्वर ने पद्धति नंबर 1 को नजरअंदाज कर दिया था, इसलिए ... मूर्खतापूर्ण ओएस के चरम मामलों में, हमारे पास यह 2 विकल्प है जो बस काम करता है just


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   नेक्स कहा

    अच्छी पोस्ट, MySql… वे FreeBSD,… .KZKG ^ Gaara;… में बहुत अधिक उपयोग करते हैं,… यदि आप एक पोस्ट बनाते हैं, तो यह अच्छा होगा कि आप FreeBSD में MySql को कैसे कॉन्फ़िगर करें और कॉन्फ़िगर करें जैसे: SSH (सुरक्षित - शेल), SSH (वेब ​​के माध्यम से), SFTP (SSH- फाइल ट्रांसफर प्रोटोकॉल), Apache - PHP- MySql, PHP5 और PhpSysInfo एक्सटेंशन।

    1.    KZKG ^ गारा कहा

      इसके लिए मुझे FreeBSD को स्थापित करना होगा, मुझे नहीं लगता कि मेरे पास अभी समय है, मैंने अभी-अभी नौकरियां बदली हैं और मेरी कई नई जिम्मेदारियां हैं to

  2.   शाऊल कहा

    मुझे हाल ही में नोडज के साथ एक परियोजना के लिए कुछ ऐसा ही करना था। मेरे मामले में यह बढ़कर 250 हो गया और यह काफी था, अब मैं ठीक कर रहा हूं। सूचना के लिए धन्यवाद

  3.   फ्रांसिस्को कहा

    नमस्कार, क्या आप मुझे /etc/mysql/my.cfg में प्रवेश करने में मदद कर सकते हैं

    मेरे पास एक VPS है, लेकिन मैं PUTTY से नहीं मिल सकता।

    नमस्ते.

  4.   प्रलोभन कहा

    विकल्प 1.- टिप्पणी विकल्प की समस्या को हल करने के लिए, और सर्वर को पुनरारंभ करते समय परिवर्तन रखें, फ़ाइल को संस्करण के अनुसार संपादित किया जाना चाहिए:

    ////////////////////////////////////////////////// ////////////////////
    // मैं उबंटू में निर्देशिका 16.04 //////////////////////////
    ////////////////////////////////////////////////// ////////////////////
    मैंने /etc/mysql/mysql.conf.d/mysqld.cnf देखा

    ////////////////////////////////////////////////// ////////////////////
    // मैं उबंटू में निर्देशिका 15.04 //////////////////////////
    ////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    ////////////////////////////////////////////////// ////////////////////
    // मैं उबंटू में निर्देशिका बदल देता हूं //////////////////////////
    ////////////////////////////////////////////////// ////////////////////

    मैंने /etc/mysql/my.cnf देखा

    ////////////////////////////////////////////////// ////////////////////
    // इस लाइन को [mysqld] या [mysql] टैग // के तहत जोड़ें
    // फिर सर्वर को पुनरारंभ करें //
    ////////////////////////////////////////////////// ////////////////////
    मैक्स_कनेक्शन = 500

  5.   क्रोधित कहा

    शून्य ट्यूटोरियल बिना किसी समय के आपको बताता है कि इसे कैसे बदलना है