Como separar o servidor de banco de dados do servidor de aplicação num VPS imprimir

  • 0

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

  1. 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.

  2. 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 -y

    Após instalar, inicie o serviço:

    sudo systemctl start mariadb

    Configure o banco para iniciar automaticamente ao ligar o servidor:

    sudo systemctl enable mariadb
  3. 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.cnf

    Procure pela linha:

    bind-address = 127.0.0.1

    Altere para:

    bind-address = 0.0.0.0

    Salve e feche o arquivo (Ctrl+O → Enter → Ctrl+X).

    Reinicie o serviço:

    sudo systemctl restart mariadb
  4. Crie um usuário com permissão remota

    Entre no MySQL:

    sudo mysql -u root -p

    Dentro 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_segura e nome_do_banco por valores reais e seguros.

  5. Abra a porta no firewall

    Se estiver usando ufw (firewall padrão do Ubuntu), permita a porta 3306:

    sudo ufw allow 3306/tcp

    Verifique o status:

    sudo ufw status

    Deve aparecer: 3306/tcp ALLOW

  6. 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!

  7. Teste a conexão

    Use um cliente MySQL (como mysql no 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.
Tela inicial do cPanel com os grupos de ferramentas

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


Esta resposta lhe foi útil?

« Retornar