O MySQL por default vem configurado para aceitar 100 conexões simultâneas e isso é mais que suficiente para a grande maioria das situações. Porém é comum receber periodicamente o erro “Too many connections”.
Uma solução paliativa é aumentar o número de conexões do MySQL, dessa forma:
Fara MySQL 3.x:
# vi /etc/my.cnf
set-variable = max_connections = 250
Para MySQL 4.x and 5.x:
# vi /etc/my.cnf
max_connections = 250
Reiniciar o MySQL. É possível checar o número de conexões configuradas dessa forma:
echo “show variables like ‘max_connections’;” | mysql
Agora, este problema normalmente ocorre porque o PHP esta persistindo as conexões, ou seja, cada vez que chama-se uma página com conexão com o banco, é adicionado mais um pool de conexão. Para resolver de vez, não é necessário aumentar o número de conexões do MySQL, conforme mostrado acima, pois o problema esta na configuração do PHP, tem que desativar a persistência das conexões, editando o arquivo php.ini, e colocando o allow_persistent em OFF.
[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = Off
E é tudo, reinicie o Apache com /etc/init.d/httpd restart.