MYSQL ERROR 1040 (00000): Too many connections

share

Questa mattina mi sono ritrovato nella situazione di cui nel titolo, senza la possibilitá di poter verificare con un comodo SHOW PROCESSLIST il motivo del problema, in quanto mysql stesso non mi permetteva di entrare:

mysql:/var/log/mysql# mysql -u root -p -h localhost
Enter password:
ERROR 1040 (00000): Too many connections

Navigando in rete ho trovato l'ottimo articolo di Aurimas Mikalauskas intitolato Too many connections? No problem!, che spiega un comodo hack da usare per incrementare temporaneamente la variabile max_connections in modo da poter investigare sulle cause. Lo riporto come appunto per me e per chi passerá da queste parti.

Innanzitutto assicuriamoci di installare gdb sulla nostra macchina, essendo lo strumento che utilizzeremo. Poi lanciamo questo comodo oneliner:

mysql:/var/log/mysql#gdb -p $(cat /var/run/mysqld/mysqld.pid) -ex "set max_connections=5000" -batch

Ed il gioco é fatto, ci possiamo collegare al nostro server mysql. Naturalmente il file del pid ed il numero di connessioni saranno da adeguare alle vostre esigenze.