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";'

Энэ нь бидэнд дараахь зүйлийг харуулах болно:

+ ----------------- + ------- + | Хувьсах_ нэр | Утга | + ----------------- + ------- + | хамгийн их холболт | 151 | + ----------------- + ------- +

Өөрөөр хэлбэл, одоогийн хязгаар нь 151 холболт юм. Үүнийг асуулга явуулж 500 болгоё.

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

Бэлэн байна!

Иймэрхүү асуудал нь үйлчилгээг дахин эхлүүлэхэд энэ тохиргоо алдагдах явдал юм.

Энэхүү дэлгэрэнгүй мэдээллийг хүргэхийн тулд та X удаа тутамд баталгаажуулдаг bash скрипт хийх, эсвэл мөрийг демоны эхлэл эсвэл дахин эхлүүлэх хэсэгт нэмж оруулах боломжтой.

Гэхдээ би яагаад энэ 2 дахь сонголтыг мэдэхийг хүсч байна вэ? ... за, би тэгж хэлдэг байсан. Гэхдээ сарын өмнө Ubuntu сервер No1 аргыг үл тоомсорлож байсан тул ... тэнэг OS-ийн онцгой тохиолдлуудад бидэнд яг адилхан ажилладаг 2дахь сонголт байна.


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

6 сэтгэгдэл, үлдээгээрэй

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.

  1.   NEX гэж хэлэв

    Сайн нийтлэл, MySql ... тэд FreeBSD,… .KZKG ^ Gaara-д маш их ашигладаг.… MySql-ийг FreeBSD дээр хэрхэн суулгах, тохируулах талаар дараахь зүйлийг оруулбал сайн байна: SSH (safe - shell), SSH (Вэбээр дамжуулан), SFTP (SSH-File Transfer Protocol), Apache - PHP- MySql, PHP5 болон PhpSysInfo өргөтгөлүүд.

    1.    KZKG ^ Гаара гэж хэлэв

      Үүний тулд би FreeBSD-ийг суулгах хэрэгтэй байсан, одоогоор надад цаг зав алга гэж бодож байна, би зүгээр л ажлаа сольсон, надад маш олон шинэ үүрэг хариуцлага байна 🙁

  2.   Саул байна гэж хэлэв

    Би саяхан nodejs-тэй төсөлд зориулж үүнтэй төстэй зүйл хийх шаардлагатай болсон. Миний хувьд энэ нь 250 болж өссөн бөгөөд надад хангалттай байсан, одоо би сайн ажиллаж байна. Мэдээлэл өгсөнд баярлалаа

  3.   Франциско гэж хэлэв

    Сайн байна уу, /etc/mysql/my.cfg хаягийг хэрхэн оруулах талаар надад тусалж болох уу?

    Би VPS-тэй, гэхдээ PUTTY-тэй орж чадахгүй байна.

    Сайн байцгаана уу.

  4.   өгөөш гэж хэлэв

    Сонголт 1-ийн асуудлыг шийдвэрлэхийн тулд тайлбарласан сонголтыг хийж, серверийг дахин эхлүүлэхдээ өөрчлөлтийг хадгалахын тулд файлыг дараах хувилбарын дагуу засах шаардлагатай.

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
    // Ubuntu 16.04 дээр директорыг өөрчлөх /////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mysql.conf.d/mysqld.cnf

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
    // Ubuntu 15.04 дээр директорыг өөрчлөх /////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
    // Би лавлахыг Ubuntu дээр хуучин болгож өөрчилсөн ////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////

    vi /etc/mysql/my.cnf

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
    // энэ мөрийг [mysqld] эсвэл [mysql] тагны доор нэмнэ үү //
    // Дараа нь серверээ дахин эхлүүлээрэй //
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////
    max_connections = 500

  5.   ууртай гэж хэлэв

    Үүнийг хэрхэн яаж өөрчлөхийг эхнээс нь зааж өгөх заавар