Como aumentar o limite de memória do MySQL em um VPS
Se o seu banco de dados está lento, travando consultas ou o MySQL está sendo "matado" pelo sistema operacional (aquele erro clássico de falta de memória), pode ser hora de revisar quanto de RAM o MySQL está autorizado a usar. Vamos com calma, passo a passo — não precisa ser especialista em Linux pra seguir isso. 🧑🏫
Atenção antes de tudo: este guia vale para quem tem um VPS ou servidor dedicado com acesso root via SSH. Os planos de hospedagem da GeHost (Econômico, Básico, Médio e Plus) são hospedagem em cPanel compartilhado, sem acesso root, e o ajuste de memória do banco nesse ambiente é feito pela nossa equipe técnica — não pelo cliente. Se você está em um desses planos e percebeu lentidão no banco, pule direto para o final deste artigo e abra um chamado com o suporte.
O que você vai precisar
- Acesso SSH ao seu VPS com usuário root (ou um usuário com permissão de
sudo); - Saber quanta memória RAM total o seu VPS possui (consulte o painel do seu provedor de VPS);
- Um pouco de atenção — vamos editar um arquivo de configuração do sistema, então siga cada passo com calma.
Passo a passo
1. Conecte-se ao seu VPS via SSH
Abra o terminal do seu computador e conecte-se ao servidor com o comando de acesso que seu provedor de VPS forneceu (algo como ssh usuario@endereco-do-servidor). Se você não tiver esses dados em mãos, eles ficam no painel de gerenciamento do seu VPS.
2. Localize o arquivo de configuração do MySQL
O arquivo que controla as configurações do MySQL (ou MariaDB, sua "versão irmã") geralmente se chama my.cnf. Ele costuma estar em um destes caminhos, dependendo da distribuição Linux:
/etc/mysql/my.cnf/etc/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf
Você pode procurar com o comando find / -name "my.cnf" 2>/dev/null se não souber onde ele está.
3. Faça um backup do arquivo antes de mexer
Isso é sagrado: nunca edite um arquivo de configuração sem ter uma cópia de segurança. Rode:
cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
Assim, se algo der errado, você volta pra versão anterior em segundos.
4. Edite os parâmetros de memória
Abra o arquivo com um editor de texto do terminal, por exemplo:
nano /etc/mysql/my.cnf
Dentro da seção [mysqld], os parâmetros mais importantes relacionados à memória são:
- innodb_buffer_pool_size — o mais importante de todos se você usa tabelas InnoDB (padrão atual). É a memória reservada para armazenar dados e índices em cache. A recomendação geral é usar entre 50% e 70% da RAM disponível do servidor, nunca 100%;
- key_buffer_size — usado por tabelas do tipo MyISAM (mais antigas);
- max_connections — quantidade de conexões simultâneas permitidas; cada conexão também consome memória, então aumentar isso sem necessidade também pressiona a RAM.
Um exemplo de ajuste (adapte o valor à realidade do seu servidor):
innodb_buffer_pool_size = 1G
Dica da Sensei: nunca configure um valor maior do que a RAM total do seu VPS. Se o servidor tem 2 GB de memória, reservar 1,5 GB só para o MySQL pode deixar pouco espaço para o sistema operacional e outros serviços (como o servidor web), causando lentidão geral ou até travamentos.
5. Salve o arquivo e reinicie o MySQL
Salve as alterações (no nano, use Ctrl+O para salvar e Ctrl+X para sair) e reinicie o serviço para aplicar as mudanças:
systemctl restart mysql
(em alguns sistemas o comando pode ser systemctl restart mysqld ou systemctl restart mariadb).
6. Confirme se a alteração foi aplicada
Depois do reinício, você pode verificar o valor atual com:
mysql -e "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"
Se o número exibido bater com o que você configurou, deu tudo certo! 🎉
Cuidados importantes
- Faça mudanças pequenas e teste — não pule direto para valores muito altos;
- Monitore o uso de memória do servidor por alguns dias após a mudança (comandos como
free -hetopajudam); - Sempre mantenha o backup do arquivo original guardado até ter certeza de que tudo está estável.
Não tem acesso root ou está em dúvida?
Se você está em um plano de hospedagem compartilhada da GeHost (com cPanel) e não tem acesso root ao servidor, não se preocupe — o ajuste de memória e desempenho do banco de dados nesses ambientes é responsabilidade da nossa equipe técnica. Basta abrir um chamado explicando o comportamento que você observou (lentidão, erro de conexão, timeout em consultas etc.) que a gente investiga e ajusta o que for necessário. Você também pode acompanhar seus dados e serviços pelo painel.gehost.com.br.
Qualquer dúvida durante o processo, conte com a gente. Passo a passo com calma é sempre o melhor caminho! 💚