Quase todos os sites guardam os seus dados numa base de dados (MySQL quase sempre, PostgreSQL às vezes) que vive dentro da mesma máquina. Funciona, mas quando a máquina vai abaixo, vai tudo abaixo; quando o disco se enche, enche-se para os dois; e as cópias da base de dados dependem de alguém as fazer. Uma base de dados gerida é uma base de dados que a Amazon instala, atualiza, copia todos os dias e vigia por si, numa máquina à parte que não vê. O Lightsail oferece-a com preço fixo por mês, tal como as suas máquinas.
Este guia cria uma, liga o site a ela e explica como mover os dados. Se o seu site é pequeno e uma única máquina lhe chega e sobra, não é obrigatório; se o site é importante, é das melhores decisões que pode tomar.
Antes de começar: o que significa cada coisa
- Base de dados
- Onde o site guarda os seus dados: utilizadores, encomendas, textos. O site lê-os e escreve-os constantemente.
- MySQL e PostgreSQL
- Os dois sistemas de base de dados mais usados em sites. O WordPress e a maioria das lojas usam MySQL (ou o seu primo MariaDB).
- Base de dados gerida
- Uma base de dados que o fornecedor instala e mantém por si, numa máquina que você não administra. Você só a usa.
- Ponto final (endpoint)
- O endereço a que o seu site se liga para falar com a base de dados. Substitui o "localhost" de quando estava na mesma máquina.
- Utilizador principal
- O utilizador principal da base de dados, com todas as permissões. A palavra-passe escolhe-a você ou gera-a o Lightsail.
- Modo público
- Se a base de dados aceita ligações a partir da internet. Desligado por defeito e assim deve ficar: só as suas máquinas Lightsail da mesma região devem chegar a ela.
- Despejo (dump)
- Um ficheiro com todo o conteúdo de uma base de dados, para a mover de um sítio para outro.
Passo a passo
Crie a base de dados
Na consola do Lightsail, separador Bases de dados, Criar base de dados. Escolha a mesma região que a sua máquina, o motor (MySQL para WordPress e a maioria; PostgreSQL se a sua aplicação o pedir) e a versão que recomendar. Deixe o Lightsail gerar a palavra-passe principal ou ponha uma sua, comprida. Escolha o plano mais pequeno para começar, salvo se souber que precisa de mais. Nome:
bd-web. Crie. Demora uns minutos a ficar disponível.Anote os dados de ligação
Abra a base de dados, separador Ligar. Vai ver o ponto final (um endereço comprido que termina em
rds.amazonaws.com), a porta (3306 em MySQL, 5432 em PostgreSQL), o utilizador principal e um botão para ver a palavra-passe. Deixe o modo público desativado: a sua máquina Lightsail consegue chegar a ela sem ele porque estão na mesma região.Verifique a ligação a partir da máquina
Abra o terminal do navegador da sua máquina e teste (MySQL):
mysql -h TU-PUNTO-DE-ENLACE -u USUARIO -pEscreva a palavra-passe quando a pedir. Se entrar e vir o símbolo
mysql>, a ligação funciona. Escrevaexit. Se o comandomysqlnão existir, instale o cliente (sudo apt install mysql-clientem Ubuntu ou Debian).Copie os dados da base atual para a nova
Se o site já tem dados na base local, ponha o site em manutenção por um momento e despeje-os:
mysqldump -u root -p nombre_bd > copia.sql mysql -h TU-PUNTO-DE-ENLACE -u USUARIO -p -e "CREATE DATABASE nombre_bd" mysql -h TU-PUNTO-DE-ENLACE -u USUARIO -p nombre_bd < copia.sqlNuma máquina Bitnami (WordPress do Lightsail) o utilizador local é
roote a sua palavra-passe está no ficheirobitnami_application_passwordou na configuração da aplicação. O despejo demora consoante o tamanho; com um site normal, segundos.Mude a configuração do site
Edite o ficheiro de configuração da sua aplicação e mude o servidor da base de dados de
localhostpara o ponto final, e o utilizador e a palavra-passe pelos da base gerida. No WordPress é owp-config.php: as linhasDB_HOST,DB_USEReDB_PASSWORD. Guarde e abra o site: deve funcionar como antes. Tire o modo de manutenção.Pare a base de dados local e reveja as cópias
Quando levar uns dias a funcionar com a nova, pare o serviço de base de dados da máquina (
sudo systemctl disable --now mysqlou o comando da Bitnami) para libertar memória. Na base de dados gerida, separador Snapshots: o Lightsail faz cópias automáticas diariamente; pode ainda criar uma manual antes de alterações importantes. E veja o separador Métricas de vez em quando: se a CPU ou as ligações estiverem no limite, é altura de subir de plano, o que nas bases de dados se faz mesmo com um botão.
O que pode correr mal
O site diz "Erro ao estabelecer ligação à base de dados"
Reveja letra a letra o ponto final, o utilizador e a palavra-passe na configuração. Depois, que a máquina e a base de dados estão na mesma região. E que a base de dados existe dentro do servidor (o CREATE DATABASE do passo 4).
Quero ligar-me a partir do meu computador com um programa gráfico
Precisa de ativar o modo público, que abre a base de dados à internet (protegida só pela palavra-passe). Faça-o só durante o tempo em que precisar e volte a desativá-lo, ou ligue-se através da máquina com um túnel SSH.
O site está mais lento do que antes
Agora a base de dados está noutra máquina e cada consulta viaja pela rede, ainda que dentro do mesmo centro de dados. Normalmente não se nota; se se notar, o site faz consultas a mais: um plugin de cache costuma resolvê-lo.
Custa mais do que ter a base na máquina
Sim: é mais um serviço. O que compra é que não vá abaixo com o site, que tenha cópias diárias sem que ninguém se lembre e que possa crescer sem reinstalar nada. Para um site que dá dinheiro, costuma compensar.
No Simplio
No Simplio as bases de dados do Lightsail e do RDS aparecem junto às suas máquinas, com o seu estado, o ponto final pronto a copiar, as cópias com data e as métricas. Faz um instantâneo com um botão, e quem tiver permissão pode vê-la sem poder mexer-lhe. Se uma cópia agendada não se fizer ou a base de dados estiver no limite, avisa-o por e-mail.
O mesmo, na AWS e no Simplio
| Na consola da AWS | No Simplio | |
|---|---|---|
| Ver o estado e as cópias da base de dados | Entrar no Lightsail, separador a separador | A base de dados junto às suas máquinas, com estado, cópias e métricas num cartão |
| Fazer uma cópia antes de uma alteração | Separador Snapshots, criar, dar nome | Botão de instantâneo: 1 clique |
| Saber se está no limite | Ver o separador Métricas | Aviso por e-mail se a CPU ou as ligações dispararem, ou se faltar uma cópia |