MySQL max_user_connections

2

Estamos lançando um site em algumas semanas que foi desenvolvido em uma máquina local, mas agora, quando estávamos testando no servidor de desenvolvimento, recebemos

MySQL error 'max_user_connections'.

Conversamos com a empresa anfitriã (a maior da Suécia) e eles dizem que não fechamos nossas conexões adequadamente. Mas a coisa é que nós usamos o mesmo código EXATO em outro host onde ele funciona. E eu também adicionei

echo "closed"; 

na função database_close para que agora no final da página fique "fechado". Para mim, isso significa que fechamos a conexão, alguém tem alguma idéia do que poderia estar errado? Nós nos conectamos através da função PHP PDO e a fechamos definindo-a como 'null', tudo de acordo com o manual.

    
por gust1n 17.05.2010 / 00:44

4 respostas

1

Há algo sobre PHP em um site, o que significa que o encadeamento de conexão do MySQL não é descartado, mesmo que você tenha rasgado o soquete de forma limpa; ainda está por aí esperando que seja colhido.

Você deseja ver sua configuração para wait_timeout . Em instalações padrão, isso é insanamente longo. Um site só precisará disso em cerca de 20 segundos. Você provavelmente também vai querer isso tão baixo se você estiver usando conexões persistentes.

    
por 17.05.2010 / 05:22
0

Se você estiver usando PHP, tente usar

mysql_close ();

Dependendo da versão do PHP isso pode ajudar, antes de 5.3 a função não requer um identificador de link.

T

    
por 17.05.2010 / 03:10
0

Se você estiver em um servidor de hospedagem compartilhada, é provável que algum outro site esteja afetando o servidor mysql compartilhado. Certifique-se de que não é o caso.

    
por 17.05.2010 / 05:35
0

Se você chamar mysql_close em cada script, então, isso deve ser um problema do seu provedor de hospedagem, não do seu.

    
por 17.05.2010 / 09:16