Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fmda

Erro ao entrar no site

Recommended Posts

de uns dias para cá, esta acontecendo direto isso no meu site e num to sabendo o que pode ser, alguem ja passou por isso, o que posso fazer?

 

Warning: mysql_connect() [function.mysql-connect]: User xxxxxxx already has more than 'max_user_connections' active connections in /home/xxxxxxx/public_html/cadastro/_classes/adodb/drivers/adodb-mysql.inc.php on line 188

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, você está usando mysql_pconnect? se for isso é só tirar o P e seus problemas acabam.

Compartilhar este post


Link para o post
Compartilhar em outros sites

em qual arquivo posso verificar, pq no arquivo de conexao nao existe

 

## EDIT ##

 

encontrei o arquivo, tinha o mysql_pconnect ae coloquei mysql_connect porem ainda continua, o que mais pode ser ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ocorre por que o mysql, dependendo de host para host, possui um limite de conexões por usuário, para assim evitar possiveis sobrecargas do servidor. Se você usa hospedagem compartilhada e tem um site com bastante acessos, e não fechar corretamente as conexões, você vai sofrer muito com isso. :(

Procure sempre fechar as conexões que você abrir com o banco de dados, usando a função que já mencionaram acima:

$conexao = mysql_connect('host', 'usuario', 'senha'); //efetua a conexão
//Manipulações no banco de dados
mysql_close($conexao); //Fecha a conexão com o banco de dados

 

Cumprimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloeuqi close pra todos lados e nada de resolver

 

fui no db e testei SHOW PROCESSLIST; e ta tendo muitas conexões em SLEEP, quanado mato uma ae o site volta ao normal

 

como saber onde ta o problema, ta tensooooo

 

 

tentei aumentar de 30 para mais, mas nao deixa, parece q locaweb bloqueia o acesso, tem alguma forma deu aumentar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha você pode tentar esconder o erro não é o certo mais resolvera seu poblema coloque uma @ na frente da linha onde o erro esta:

 

Ex.: erro nesta linha mysql_connect coloque @mysql_connect, isto escondera o erro...

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

fui no db e testei SHOW PROCESSLIST; e ta tendo muitas conexões em SLEEP, quanado mato uma ae o site volta ao normal

 

Pode ser que as suas queries estejam demorando pra executar por problema de otimização das tabelas, verifique se elas estão devidamente indexadas.

 

 

tentei aumentar de 30 para mais, mas nao deixa, parece q locaweb bloqueia o acesso, tem alguma forma deu aumentar?

 

Se você utiliza servidor compartilhado não é possível aumentar o limite de conexões, tendo em vista que o limite já é colocado para que não haja excesso de conexões e assim vários clientes possam utilizar o mesmo banco de dados sem sobrecarga.

 

Se mesmo otimizando as suas tabelas e fechando as conexões o problema persistir, eu recomendo que contrate um servidor dedicado ou virtual para a sua aplicação.

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo eu uso um arquivo db.php onde tenho a conexao com o banco e em cada pagina eu chamo ese arquivo

 

$db->connect($host,$user,$senha,$banco);
$this->conn = $db;

 

eu tenho que por:

 

mysql_close($db);

 

ou apenas

 

mysql_close();

 

se eu coloco mysql_close($db); ae retorna:

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/xxxxxxx/public_html/site/pagina.php on line 181

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usar mysql_close() não é normalmente necessário, já que as conexões não persistentes são automaticamente fechadas ao final da execução do script.

 

Se o identificador de conexão não for especificado, a ultima conexão aberta por mysql_connect() é assumida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usar mysql_close() não é normalmente necessário, já que as conexões não persistentes são automaticamente fechadas ao final da execução do script.

 

Hummm! Nao sabia. Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então to lascado, nao consigo arrumar isso de jeito ennhum, de meia em meia hora, chega o limite de 30 usuarios, entquanto eu nao dar kill em algum processo, nao libera o site

 

tem alguma outra forma de resolver este maldito poblema

 

o pior que antes nao dava, do nada comecou a dar isso

 

tem como matar processo sempreque visitar o site? nao né? seria um jeito gambiarrado, mas resolveria por enquanto

 

tentei até usar sql cache nos select, mas nd

 

Warning: mysql_connect() [function.mysql-connect]: User xxxxxx  already has more than 'max_user_connections' active connections in /home/xxxxx/public_html/cadastro/_classes/adodb/drivers/adodb-mysql.inc.php on line 188

Warning: mysql_connect() [function.mysql-connect]: User xxxxxx  already has more than 'max_user_connections' active connections in /home/xxxxx/public_html/cadastro/_classes/adodb/drivers/adodb-mysql.inc.php on line 188

 

ae nestas linhas tem

 

185. function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
	if (strnatcmp(PHP_VERSION,'4.3.0')>=0)
		$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword, $this->forceNewConnect,$this->clientFlags);
	else if (strnatcmp(PHP_VERSION,'4.2.0')>=0)
		$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
											$this->forceNewConnect);
	else
		$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);

	if ($this->_connectionID === false) return false;
	if ($argDatabasename) return $this->SelectDB($argDatabasename);
	return true;	
198.	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vá no phpMyAdmin e entre na aba Variáveis, lá você poderá encontrar a variável max_user_connections.

 

Verifique se o valor for zero(0), então não tem limites de conexão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta executar o seguinte comando no phpMyAdmin

GRANT ALL ON customer.* TO 'root'@'localhost'
  WITH MAX_USER_CONNECTIONS 0;

 

Não esqueça de mudar "root'@'localhost" para a sua.

 

Testei aqui e alterou a variável sem erros

Compartilhar este post


Link para o post
Compartilhar em outros sites

#1044 - Access denied for user 'xxxxxx'@'localhost' to database 'customer'

 

pesquisei em todas paginas para ver se tinha algum pconnect, achei alguns e removi todos, mas ainda nada, site fica praticamente offline por causa disso, dou kill em todos mas logo volta

 

tem alguma forma de saber de qual pagina q ta dando este problema?

Id 	User 	Host 	db 	Command 	Time 	State 	Info
50357347 	xxxx 	200.000.200.000:45203 	xxxx 	Sleep 	0 	  	NULL

 

sera que tem uma forma de deixar o modo SLEEP mais rapido, pq ae vai matando automatico mais rapidamente, evitando que ocupe espaco

 

sera que alguem pode ter injetado algum sql inject que ta sobrecarregando isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.