Como separar o servidor de banco de dados do servidor de aplicação num VPS — Guia para Iniciantes
Olá, viajante do mundo digital! Seja bem-vindo ao seu primeiro passo rumo a uma arquitetura mais robusta e segura. Aqui, na GeHost, acreditamos que todo grande sistema começa com uma boa base — e separar o banco de dados da aplicação é exatamente isso: um passo inteligente para crescer com confiança.
Se você está usando um VPS (servidor virtual privado) para hospedar seu projeto, talvez já tenha pensado: “Será que posso deixar o banco de dados em outro lugar?” A resposta é: sim, e hoje vamos te mostrar como, passo a passo, com cuidado, clareza e um toque de paciência — como um verdadeiro Sensei da tecnologia.
Dica do Sensei: Separar banco de dados da aplicação é como ter dois cômodos separados: um para o “coração” (o banco) e outro para a “mente” (a aplicação). Isso melhora segurança, desempenho e escalabilidade. Perfeito para sites que crescem rápido!
Antes de começar: o que você precisa saber
Antes de mergulhar nos passos, é importante entender que:
- Você está em um VPS — ou seja, tem controle total (root) sobre o servidor.
- O banco de dados (MySQL ou MariaDB) será instalado em um servidor diferente do da sua aplicação.
- Você precisará configurar a rede (firewall) para permitir conexões entre os dois servidores.
- Os dados não ficam mais “no mesmo lugar” — isso é bom para segurança!
Se você ainda não tem um VPS, a GeHost oferece planos com suporte a VPS em seu painel. Acesse o painel do cliente para verificar suas opções.
Passo a passo: separando o banco de dados do servidor de aplicação
-
Defina os dois servidores
Você precisará de dois servidores VPS:
- Servidor de Aplicação: onde seu site, sistema ou app será executado (ex: Laravel, WordPress, Node.js).
- Servidor de Banco de Dados: onde o MySQL/MariaDB será instalado e gerenciado.
Os dois podem estar no mesmo datacenter (ou até mesmo na mesma nuvem), mas devem ser tratados como servidores distintos.
-
Instale o MySQL/MariaDB no servidor de banco
Conecte-se ao servidor de banco via SSH (terminal) e execute:
sudo apt update sudo apt install mariadb-server mariadb-client -yApós instalar, inicie o serviço:
sudo systemctl start mariadbConfigure o banco para iniciar automaticamente ao ligar o servidor:
sudo systemctl enable mariadb -
Configure o MySQL para aceitar conexões externas
Por padrão, o MySQL só aceita conexões locais. Precisamos mudar isso.
Edite o arquivo de configuração:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfProcure pela linha:
bind-address = 127.0.0.1Altere para:
bind-address = 0.0.0.0Salve e feche o arquivo (Ctrl+O → Enter → Ctrl+X).
Reinicie o serviço:
sudo systemctl restart mariadb -
Crie um usuário com permissão remota
Entre no MySQL:
sudo mysql -u root -pDentro do MySQL, execute:
CREATE USER 'seu_usuario'@'%' IDENTIFIED BY 'sua_senha_segura'; GRANT ALL PRIVILEGES ON nome_do_banco.* TO 'seu_usuario'@'%'; FLUSH PRIVILEGES;Substitua
seu_usuario,sua_senha_seguraenome_do_bancopor valores reais e seguros. -
Abra a porta no firewall
Se estiver usando
ufw(firewall padrão do Ubuntu), permita a porta 3306:sudo ufw allow 3306/tcpVerifique o status:
sudo ufw statusDeve aparecer:
3306/tcp ALLOW -
Configure a aplicação para se conectar ao banco remoto
No seu código (ex: configuração do WordPress, Laravel, etc.), altere os dados de conexão:
- Host: o IP do servidor de banco (ex: 192.168.1.100)
- Usuário: o que você criou no passo anterior
- Senha: a senha segura definida
- Banco: o nome do banco de dados
⚠️ Nunca deixe essas credenciais em arquivos públicos ou no GitHub!
-
Teste a conexão
Use um cliente MySQL (como
mysqlno terminal) ou ferramentas como MySQL Workbench para testar se a conexão está funcionando.Se der erro, verifique:
- Se o firewall está aberto
- Se o usuário tem permissão remota
- Se o IP do servidor de aplicação está permitido
Dicas extras do Sensei
- Use chaves SSH em vez de senhas para conexão entre servidores — muito mais seguro!
- Evite o MySQL no mesmo servidor da aplicação se seu site crescer ou for alvo de ataques.
- Use um nome de domínio ou IP estático para o servidor de banco — IPs dinâmicos podem quebrar a conexão.
- Monitore o uso de rede e CPU nos dois servidores. Se um estiver sobrecarregado, pode afetar o outro.
Quer ajuda com isso?
Se você está se sentindo perdido ou quer que um especialista da GeHost te oriente, basta entrar em contato com nosso suporte.
Estamos aqui para te ajudar — com paciência, dedicação e um coração de tecnologia. Lembre-se: todo grande sistema começou com um pequeno passo.
Seu amigo e Sensei,
GeHost
G e Soluções e Eventos LTDA
CNPJ: 46.647.904/0001-04