Wéi fixéiert de MySQL Feeler: Ze vill Verbindungen

Aféierung zum MySQL Feeler: Ze vill Verbindungen

Wann Dir eng Webapplikatioun hutt (Site, Blog, Forum, asw.) Déi héich gefuerdert ass, dat ass, datt eng grouss Zuel vu Benotzer besicht, iwwersetzt dëst sech an e verstäerkte Verbrauch um Server. Wa gesot Web App eng MySQL Datebank benotzt an d'Ufroe si wierklech vill (wéinst enger schlechter Programméierung vum Internet oder vu ville Benotzer déi de Internet benotzen), et ass eng Méiglechkeet datt MySQL dëse Feeler weist:

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

Wat heescht de MySQL: Ze vill Connections Feeler?

Et heescht datt ze vill Ufroen op MySQL kommen, méi wéi et akzeptéiere kann, méi wéi et ka stoen oder waarden.

Wéi léist een et?

Einfach, mir mussen déi maximal Limit vun Ufroen (Verbindungen) erhéijen déi MySQL ënnerstëtzt.

Ech ginn Iech zwou Optiounen fir dëst Problem ze fixéieren:

1. Mir änneren d'Datei /etc/mysql/my.cfg:

nano /etc/mysql/my.cfg

An et setzen mir folgend ënner wou et seet [mysql]:

max_connections = 500 max_user_connections = 500

Dëst wäert d'maximal Unzuel u Verbindunge vun 100 erhéijen (wat de Standard ass) op 500.

Mir späicheren a raus, da starten mir de MySQL Service neu an dat ass et. Dës Ännerung ass permanent.

2. Eng aner Manéier fir dëst Problem ze léisen ass d'maximal Limit gläich ze änneren, awer duerch eng MySQL Ufro.

Loosst eis als éischt déi aktuell Limit weisen:

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

Dëst wäert eis sou eppes weisen:

+ ----------------- + ------- + | Variabel_numm | Wäert | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

An anere Wierder, déi aktuell Limit ass 151 Verbindungen, gutt, loosst eis et op 500 duerch eng Ufro erhéijen:

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

Prett!

De Problem op dës Manéier ass datt wann de Service neu gestart gëtt, dës Konfiguratioun verluer ass.

Fir dësen Detail ze liwweren kënnt Dir e Bash Skript maachen dat all X Kéier verifizéiert, oder souguer d'Linn an de Start- oder Neistartblock vum Daemon bäifügen 😉

Awer firwat wëll ech dës 2. Optioun wëssen? ... gutt, dat war wat ech fréier gesot hunn. Awer virun engem Mount huet en Ubuntu Server d'Method No.1 ignoréiert, also ... an extremen Fäll vun dommen OS, hu mir dës 2. Optioun déi genau sou gutt funktionnéiert 😉


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

6 Kommentaren, loosst ären

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.

  1.   nächste sot

    Gutt Post, MySql ... si benotze vill am FreeBSD, ... .KZKG ^ Gaara?, ... Et wier gutt wann Dir e Post maacht, wéi Dir MySql an FreeBSD installéiere wëllt a konfiguréiere wéi: SSH (sécher - Shell), SSH (via Web), SFTP (SSH-File Transfer Protocol), Apache - PHP- MySql, PHP5 a PhpSysInfo Extensions.

    1.    KZKG ^ Gaara sot

      Fir dëst ze maachen, muss ech FreeBSD installéieren, ech denken net datt ech elo d'Zäit hunn, ech hunn just Aarbechtsplaz gewiesselt an ech hu vill nei Responsabilitéiten responsibilities

  2.   Saul sot

    Ech hu viru kuerzem eppes ähnleches fir e Projet mat nodejs misse maachen. A mengem Fall ass et op 250 eropgaang an dat war genuch, fir elo geet et mir gutt. Merci fir d'Informatioun

  3.   Francisco sot

    Moien, kënnt Dir mir hëllefen wéi /etc/mysql/my.cfg aginn?

    Ech hunn e VPS, awer ech kann net mat PUTTY erakommen.

    Merci.

  4.   Köder sot

    Fir de Problem vun der Option 1. ze léisen - Kommentéiert Optioun, an d'Ännerunge behalen beim Restart vum Server, muss d'Datei no der Versioun geännert ginn:

    ////////////////////////////////////////////////////// //////////////////////
    // Ech änneren den Directoire zu Ubuntu 16.04 ////////////////////////
    ////////////////////////////////////////////////////// //////////////////////
    Ech hunn /etc/mysql/mysql.conf.d/mysqld.cnf gesinn

    ////////////////////////////////////////////////////// //////////////////////
    // Ech änneren den Directoire zu Ubuntu 15.04 ////////////////////////
    ////////////////////////////////////////////////////// //////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    ////////////////////////////////////////////////////// //////////////////////
    // Ech änneren de Verzeechnes an Ubuntu al ////////////////////////
    ////////////////////////////////////////////////////// //////////////////////

    Ech hunn /etc/mysql/my.cnf

    ////////////////////////////////////////////////////// //////////////////////
    // füügt dës Zeil ënner dem [mysqld] oder [mysql] Tag //
    // Dann de Server neu starten //
    ////////////////////////////////////////////////////// //////////////////////
    max_connections = 500

  5.   indignéiert sot

    Tutorial vu Null un zu kengem Moment seet Iech wéi Dir et ännere kënnt