08/11/2014

RESOLVENDO O ERRO "TOO MANY CONNECTIONS" NO MYSQL


Olá, Pessoal!
A dica que trago a vocês hoje é como resolver o problema "Too many connections" no MySql. Este problema ocorre quando o sistema atinge o limite máximo de conexões. 

Umas das formas de sanar o problema é alterando o limite máximo de conexões configurado no sistema. Pronto para começar???

O primeiro passo é conectar-se ao SGBD (Sistema Gerenciador de Banco de Dados) MySql através do comando:

mysql – u seu_usuario -p sua_senha

Saída:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Mysql>


Depois de conectado, vamos visualizar as conexões através do comando:

show processlist;

Saída:

+----+------+-----------------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info
|
+----+------+-----------------+------+---------+------+-------+------------------+
| 1 | root | localhost:58062 | NULL | Query | 0 | init | show processlist
|
+----+------+-----------------+------+---------+------+-------+------------------+
1 row in set (0.04 sec)


Note no nosso exemplo que temos apenas uma conexão realizada com o usuário root. Para que o sistema exiba o valor máximo de conexões permitidas, execute o comando:

show variables like '%max_connections%';

Saída:

+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| max_connections | 151 |
+-----------------+------------+
1 row in set (0.07 sec)


Observe na saída anterior que o sistema permitia apenas 151 conexões. Agora que já sabemos o valor máximo de conexões permitidas, vamos aumentá-la através do comando:

set global max_connections = 1000;

Saída:

Query OK, 0 rows affected (0.05 sec)
1 row in set (0.07 sec)


Para fins de exemplo, aumentamos o valor de conexões para 1000, porém você pode ajustar conforme a necessidade da sua empresa ou cliente.

Para conferir se a alteração foi realizada com sucesso, execute novamente o comando: 

show variables like '%max_connections%';

Saída:

+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| max_connections | 1000 |
+-----------------+------------+
1 row in set (0.00 sec)



Espero que tenham gostado... E até a próxima!

4 comentários: