Cumu risolve l'errore MySQL: Troppu Connessioni

Introduzione à l'errore MySQL: Troppu Cunnessioni

Quandu avete una applicazione web (situ, blog, foru, ecc.) Chì hà una grande dumanda, vale à dì, chì un gran numeru d'utilizatori visitanu, questu si traduce in un consumu aumentatu in u servitore. Sì detta app web utilizza una basa di dati MySQL è e dumande sò veramente parechje (per via di una cattiva prugrammazione di u web o da parechji utilizatori chì utilizanu u web), ci hè una pussibilità chì MySQL mostrerà questu errore:

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

Cosa significa l'errore MySQL: Troppu Connessioni?

Significa chì troppu richieste sò venute à MySQL, più di ciò chì pò accettà, più di quellu chì pò mette in coda o aspettà.

Cumu risolve lu?

Semplice, duvemu aumentà u limitu massimu di richieste (cunnessioni) chì MySQL supporta.

Vi daraghju duie opzioni per risolve stu prublema:

1. Editemu u fugliale /etc/mysql/my.cfg:

nano /etc/mysql/my.cfg

In questu mettemu u seguitu sottu induve dice [mysql]:

max_connections = 500 max_user_connections = 500

Questu aumenterà u numeru massimu di cunnessioni da 100 (chì hè u predefinitu) à 500.

Salvemu è surtimu, dopu ripartimu u serviziu MySQL è basta. Stu cambiamentu hè permanente.

2. Un altru modu per risolve stu prublema hè di cambià u limitu massimu uguale, ma attraversu una dumanda MySQL.

Mustremu prima u limitu attuale:

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

Questu ci mostrerà qualcosa di simile:

+ ----------------- + ------- + | Variable_name | Value | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +

In altre parolle, u limitu attuale hè 151 cunnessioni, bè, andemu à elevallu à 500 per mezu di una dumanda:

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

Pratu!

U prublema in questu modu hè chì quandu u serviziu hè ripartitu, sta cunfigurazione hè persa.

Per furnisce stu ditagliu, pudete fà un script bash chì verifica ogni volta X, o ancu aghjunghje a linea à l'iniziu o riavvia u bloccu di u daemon 😉

Ma allora perchè vogliu cunnosce sta 2a opzione? ... bè, eccu ciò chì dicia. Ma un mese fà un Server Ubuntu ignurava u metudu N ° 1, allora ... in casi estremi di SO stupidu, avemu sta seconda opzione chì funziona altrettantu well


U cuntenutu di l'articulu aderisce à i nostri principii di etica edituriale. Per signalà un errore cliccate quì.

6 cumenti, lasciate i toi

Lasciate u vostru cummentariu

U vostru indirizzu email ùn esse publicatu.

*

*

  1. Responsabile di i dati: Miguel Ángel Gatón
  2. Scopu di i dati: Cuntrolla SPAM, gestione di cumenti.
  3. Legitimazione: U vostru accunsentu
  4. Cumunicazione di i dati: I dati ùn seranu micca cumunicati à terzi, eccettu per obbligazione legale.
  5. Archiviazione di dati: Base di dati ospitata da Occentus Networks (UE)
  6. Diritti: In ogni mumentu pudete limità, recuperà è cancellà e vostre informazioni.

  1.   nessu dijo

    Bon post, MySql ... usanu assai in FreeBSD, ... .KZKG ^ Gaara?, ... Saria bè se fate un post, nantu à cumu installà è cunfigurà MySql in FreeBSD cum'è: SSH (secure - shell), SSH (via Web), SFTP (SSH-Protocolu di Trasferimentu di File), Apache - PHP- MySql, PHP5 è PhpSysInfo Extensions.

    1.    KZKG ^ Gaara dijo

      Per questu mi devu installà FreeBSD, ùn pensu micca d'avè u mumentu avà, aghju cambiatu u travagliu è aghju parechje rispunsabilità responsibilities

  2.   Saul dijo

    Recentemente aghju avutu à fà qualcosa di simile per un prugettu cù nodejs. In u mo casu aghju aumentatu à 250 è chì era abbastanza per mè, per avà sto andendu bè. Grazie per l'infurmazioni

  3.   Franciscu dijo

    Bonghjornu, mi pudete aiutà cumu entre in /etc/mysql/my.cfg?

    Aghju un VPS, ma ùn possu micca entrà cù PUTTY.

    Saluti.

  4.   esca dijo

    Per risolve u prublema di l'Opzione 1.- Opzione cummentata, è tene i cambiamenti quandu si riavvia u servitore, u schedariu deve esse editatu secondu a versione:

    ////////////////////////////////////////////////////////// ////////////////////
    // Cambiu u repertoriu in Ubuntu 16.04 //////////////////////////
    ////////////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mysql.conf.d/mysqld.cnf

    ////////////////////////////////////////////////////////// ////////////////////
    // Cambiu u repertoriu in Ubuntu 15.04 //////////////////////////
    ////////////////////////////////////////////////////////// ////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    ////////////////////////////////////////////////////////// ////////////////////
    // Cambiu u repertoriu in Ubuntu vechju //////////////////////////
    ////////////////////////////////////////////////////////// ////////////////////

    vi /etc/mysql/my.cnf

    ////////////////////////////////////////////////////////// ////////////////////
    // aghjunghje sta linea sottu u tag [mysqld] o [mysql] //
    // Dopu riavvia u servitore //
    ////////////////////////////////////////////////////////// ////////////////////
    max_connections = 500

  5.   indignatu dijo

    Tutorial da zero in nessun momentu vi dice cumu cambiallu

bool (veru)