Estou usando o MySQLi para meu webapp, mas sempre que quero visitar alguma página específica, recebo mysqli_connect() [function.mysqli-connect]: (42000/1203): User ***_user already has more than 'max_user_connections' active connections
.
Já tentei fechar todas as conexões, mas isso não melhora a situação.
Existe uma maneira de saber exatamente quais conexões estão abertas em um determinado momento ou qualquer outro dado útil que possa me ajudar a resolver esse problema?
BTW, estou usando PHP 5.2.17 e MySQL 5.1.
A opção max_user_connections é um limite imposto, não no número total de conexões simultâneas na instância do servidor, mas na conta de usuário individual.
Digamos que o usuário seja chamado
db_user@localhost
. Você pode descobrir qual é o limite de conexão deste usuário executando esta consulta:Se este for um valor diferente de zero, altere-o novamente com:
ou
Isso fará
mysqld
com que o usuáriodb_user@localhost
use a configuração global max_user_connections como seu limite.Quando chegar a este ponto, agora verifique a configuração global usando
Se este for um valor diferente de zero, você precisa fazer duas coisas
COISA #1 : Procure a configuração em
/etc/my.cnf
comenta essa linha
COISA #2 : Defina o valor dinamicamente
A reinicialização do MySQL não é necessária.
EMBARGO
Eu discuti essa configuração no passado
May 24, 2011
: O que são conexões de usuário - quando são criadas e destruídas?Jun 16, 2011
: Seria sensato criar um usuário MySQL para cada conta de usuário de uma aplicação web?Mar 22, 2012
: Como posso limitar as conexões MySQL?Feb 22, 2013
: Mysql : Número máximo de conexões por usuário - Possível?De uma chance !!!