MySQL အမှားကိုဘယ်လိုဖြေရှင်းမလဲ။ Too Many Connections

MySQL အမှားမိတ်ဆက် - အလွန်များလွန်းသောဆက်သွယ်မှုများ

သင့်အနေဖြင့် ၀ ယ်လိုအားအလွန်များပြားသောဝက်ဘ် application တစ်ခု (site, blog, forum, etc) ရှိလျှင်အသုံးပြုသူအမြောက်အများလာရောက်လည်ပတ်သောအခါ၎င်းသည်ဆာဗာတွင်သုံးစွဲမှုတိုးလာသည်။ အကယ်၍ ထို web app သည် MySQL ဒေတာဘေ့စ်ကိုအသုံးပြုသည်ဆိုလျှင်၎င်းသည်အလွန်များပြားသည် (ဝဘ်ကိုမကောင်းတဲ့ပရိုဂရမ်ရေးသားခြင်းသို့မဟုတ်ဝက်ဘ်ကိုအသုံးပြုသောသုံးစွဲသူများစွာကြောင့်ဖြစ်သည်), MySQL ကဒီအမှားကိုပြသနိုင်တဲ့ဖြစ်နိုင်ချေရှိတယ် -

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

MySQL: ဆက်သွယ်မှုအလွန်များလွန်းသောအမှားကဘာကိုဆိုလိုသနည်း။

ဆိုလိုသည်မှာတောင်းဆိုမှုများသည် MySQL သို့လာသည်၊ လက်ခံနိုင်သည်ထက်ပိုသည်၊ စောင့်ဆိုင်းနိုင်သည်သို့မဟုတ်စောင့်နိုင်သည်။

ဘယ်လိုဖြေရှင်းမလဲ

ရိုးရိုးရှင်းရှင်းပြောရလျှင် MySQL မှတောင်းဆိုမှုများ (ဆက်သွယ်မှုများ) အမြင့်ဆုံးသတ်မှတ်ချက်ကိုတိုးမြှင့်ရမည်။

ဤပြfixနာကိုဖြေရှင်းရန်သင့်အားနည်းလမ်းနှစ်ခုပေးပါမည်။

1. /etc/mysql/my.cfg ဖိုင်ကိုကျွန်ုပ်တို့တည်းဖြတ်သည်။

nano /etc/mysql/my.cfg

၎င်းတွင် [mysql] ကဖော်ပြထားသောနေရာတွင်အောက်ပါကိုထည့်ပါ။

max_connections = 500 max_user_connections = 500

၎င်းသည်အများဆုံးဆက်သွယ်မှု ၁၀၀ မှ (ပုံမှန်အားဖြင့်) ၅၀၀ အထိတိုးပွားလိမ့်မည်။

ကျွန်ုပ်တို့သည်သိမ်းဆည်းပြီးထွက်ပြီးနောက် MySQL ၀ န်ဆောင်မှုကိုပြန်လည်စတင်သည်။ ဒီပြောင်းလဲမှုကအမြဲတမ်းဖြစ်ပါတယ်

2. ဤပြproblemနာကိုဖြေရှင်းနိုင်သည့်နောက်တစ်နည်းမှာအမြင့်ဆုံးကန့်သတ်ချက်ကိုပြောင်းလဲရန်ဖြစ်သည်၊ သို့သော် MySQL query ဖြင့်ပြောင်းလဲနိုင်သည်။

ပထမကန့်သတ်ချက်ကိုအရင်ပြပါရစေ။

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

ဒါကငါတို့ကိုဒီလိုမျိုးပြသလိမ့်မယ် -

+ ----------------- + ------- + | Variable_name | တန်ဖိုး + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

တစ်နည်းပြောရလျှင်လက်ရှိအကန့်အသတ်မှာဆက်သွယ်မှု ၁၅၁ ဖြစ်သည်။ စုံစမ်းမှုအားဖြင့်၎င်းကို 151 သို့မြှောက်ပါ။

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

အဆင်သင့်!

ဤနည်းအားဖြင့်ပြproblemနာက ၀ န်ဆောင်မှုကိုပြန်လည်စတင်သောအခါ၊ ဒီဖွဲ့စည်းပုံပျောက်ဆုံးသွားခြင်းဖြစ်သည်။

ဒီအသေးစိတ်အချက်အလက်ကိုပေးဖို့၊ X အချိန်တိုင်းကိုစစ်ဆေးတဲ့ bash script ကိုလုပ်နိုင်ပါတယ်။ ဒါမှမဟုတ် daemon ရဲ့ start သို့မဟုတ် restart block ကိုမျဉ်းကြောင်းထပ်ထည့်နိုင်တယ်။ 😉

ထိုအခါမူကားအဘယ်ကြောင့်ငါဒီဒုတိယ option ကိုသိရန်လိုသနည်း ... ကောင်းပြီ၊ ငါပြောခဲ့တယျ။ သို့သော်လွန်ခဲ့သောတစ်လခန့်က Ubuntu ဆာဗာသည် No.2 ကိုလျစ်လျူရှုခဲ့သည်။ ထို့ကြောင့်အစွန်းရောက်သော OS များတွင်အလွန်ကောင်းမွန်သောဤဒုတိယရွေးစရာရှိသည်။


ဆောင်းပါး၏ပါ ၀ င်မှုသည်ကျွန်ုပ်တို့၏အခြေခံမူများကိုလိုက်နာသည် အယ်ဒီတာအဖွဲ့ကျင့်ဝတ်။ အမှားတစ်ခုကိုသတင်းပို့ရန်ကလစ်နှိပ်ပါ ဒီမှာ.

6 မှတ်ချက်များ, သင့်စွန့်ခွာ

သင်၏ထင်မြင်ချက်ကိုချန်ထားပါ

သင့်အီးမေးလ်လိပ်စာပုံနှိပ်ထုတ်ဝေမည်မဟုတ်ပါ။

*

*

  1. အချက်အလက်အတွက်တာဝန်ရှိသည် - Miguel ÁngelGatón
  2. အချက်အလက်များ၏ရည်ရွယ်ချက်: ထိန်းချုပ်ခြင်း SPAM, မှတ်ချက်စီမံခန့်ခွဲမှု။
  3. တရားဝင်: သင်၏ခွင့်ပြုချက်
  4. အချက်အလက်များ၏ဆက်သွယ်မှု - ဒေတာများကိုဥပဒေအရတာ ၀ န်ယူမှုမှ လွဲ၍ တတိယပါတီများသို့ဆက်သွယ်မည်မဟုတ်ပါ။
  5. ဒေတာသိမ်းဆည်းခြင်း: Occentus ကွန်ယက်များ (အီးယူ) မှလက်ခံသည့်ဒေတာဘေ့စ
  6. အခွင့်အရေး - မည်သည့်အချိန်တွင်မဆိုသင်၏အချက်အလက်များကိုကန့်သတ်၊

  1.   နက်ခ် ဟုသူကပြောသည်

    ကောင်းသောပို့စ်၊ MySql … FreeBSD၊ … .KZKG ^ Gaara တွင်သူတို့များစွာအသုံးပြုသည်။ အကယ်၍ သင်ပို့စ်တစ်ခုပြုလုပ်ပါက MySql ကို FreeBSD တွင် SSH (secure-shell)၊ SSH (Web မှတဆင့်)၊ SFTP ကဲ့သို့မည်သို့တပ်ဆင်ရမည်၊ (SSH-File Transfer Protocol), Apache - PHP- MySql, PHP5 နှင့် PhpSysInfo တိုးချဲ့မှုများ။

    1.    KZKG ^ Gaara ဟုသူကပြောသည်

      ဤအတွက်ကျွန်ုပ်သည် FreeBSD ကိုတပ်ဆင်ရလိမ့်မည်၊ ကျွန်ုပ်သည်ကျွန်ုပ်တွင်အချိန်မရှိသေးပါ၊ ကျွန်ုပ်အလုပ်ပြောင်းရုံနှင့်တာ ၀ န်အသစ်များရှိသည်။

  2.   ရှောလုသည် ဟုသူကပြောသည်

    ငါမကြာသေးမီက nodejs နှင့်အတူစီမံကိန်းအတွက်အလားတူတစ်ခုခုလုပ်ဖို့ရှိခဲ့ပါတယ်။ ကျွန်တော့်ကိစ္စမှာ ၂၅၀ အထိတိုးလာတယ်၊ ဒါကလုံလောက်တယ်၊ အခုငါကောင်းကောင်းလုပ်နေတယ်။ သတင်းအချက်အလက်အတွက်ကျေးဇူးတင်ပါတယ်

  3.   francisco ဟုသူကပြောသည်

    မင်္ဂလာပါ၊ /etc/mysql/my.cfg ကိုမည်သို့ဝင်ရောက်ရမည်နည်း။

    ငါ့မှာ VPS ရှိတယ်၊ ဒါပေမယ့် PUTTY နဲ့မဆက်သွယ်နိုင်ဘူး။

    မေတ္တာနှင့်ကြားလိုက်ပါ၏။

  4.   ငါးစာ ဟုသူကပြောသည်

    Option ၁ ၏ပြproblemနာကိုဖြေရှင်းရန်ဆာဗာကိုပြန်လည်စတင်သည့်အခါပြောင်းလဲမှုများကိုဆက်လက်ထားရှိရန်၊ ဗားရှင်းအရတည်းဖြတ်ရမည်။

    /////////////////////////////////////////////////////// ////////////////////
    // Ubuntu တွင် Directory ကိုငါပြောင်းလိုက်သည်။ 16.04 ////////////////////////
    /////////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mysql.conf.d/mysqld.cnf

    /////////////////////////////////////////////////////// ////////////////////
    // Ubuntu တွင် Directory ကိုငါပြောင်းလိုက်သည်။ 15.04 ////////////////////////
    /////////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    /////////////////////////////////////////////////////// ////////////////////
    // Ubuntu အဟောင်း၌ရှိသော directory ကိုငါပြောင်းသည်။ ////////////////////////
    /////////////////////////////////////////////////////// ////////////////////

    vi /etc/mysql/my.cnf

    /////////////////////////////////////////////////////// ////////////////////
    // ဒီမျဉ်းကို [mysqld] or [mysql] tag အောက်မှာထည့်ပါ။
    // ထို့နောက်ဆာဗာကိုပြန်လည်စတင်ရန် //
    /////////////////////////////////////////////////////// ////////////////////
    max_connections = ၅၀၀

  5.   ဒေါသ ဟုသူကပြောသည်

    ဘယ်အချိန်မှာမှသင်ခန်းစာသင်ကဘယ်လိုပြောင်းလဲပစ်ရန်သင့်အားပြောပြသည်

ဘောလ်(မှန်)