Desenvolvimento e bases de dados

Clonar uma base de dados

Revisto a 3 min de leitura MySQL clonagem

Pode duplicar uma base de dados para ensaiar uma atualização ou preparar um site de testes. A cópia inclui os dados que selecionar; não clona os ficheiros da aplicação nem altera as suas credenciais.

Se houver escritas em curso, defina como obter uma cópia coerente antes de começar. Verifique também o espaço disponível para manter a origem e o destino.

Criar a base de dados de destino

O cPanel exige que as bases de dados sejam criadas primeiro, por isso não poderá duplicar diretamente uma base de dados a partir do phpMyAdmin.

  1. Inicie sessão no cPanel
  2. Vá a Manage My Databases
  3. Na secção «Create New Database», crie uma nova base de dados:
    • Introduza o nome da nova base de dados
    • Clique em «Create Database»

Criar o utilizador e atribuir permissões

Para um site de testes, crie um utilizador diferente com acesso apenas ao clone. Reutilizar o utilizador de produção facilitaria que uma configuração errada alterasse a origem.

  1. Na mesma página de MySQL® Databases:
    • Crie um novo utilizador ou selecione um existente
    • Associe o utilizador à nova base de dados
    • Conceda os privilégios de que a aplicação precisa sobre essa base de dados

Copiar a partir do phpMyAdmin

  1. No cPanel, procure a secção «Databases»
  2. Clique em «phpMyAdmin»
  3. Aceda à base de dados original, separador «Operações»
  4. Encontrará a opção «Copiar base de dados para»
  5. Introduza o nome completo da base de dados que criou, incluindo o prefixo da conta (por exemplo, usuario_nueva, e não apenas nueva).
  6. Assinale «Estrutura e dados»
  7. Desmarque «CREATE DATABASE before copying» e reveja o resto: o destino tem de estar vazio e não precisa de eliminar tabelas existentes.
  8. Verifique mais uma vez o nome da origem e do destino, clique em «Executar» e aguarde o resultado.

O phpMyAdmin faz esta cópia dentro de um pedido web. Se a base de dados for grande e o processo exceder os seus limites de tempo, exporte e importe com mysqldump e mysql a partir do terminal, em vez de repetir a operação no navegador.

Validar a cópia

Verifique as tabelas, as suas contagens com COUNT(*) e os objetos de que a aplicação precise, como vistas, triggers ou rotinas. A disponibilidade de algumas opções depende das permissões. Se a operação falhar a meio, não a repita sobre o destino parcial sem o rever.

Configure o clone do site com o novo nome da base de dados, utilizador e palavra-passe. Desative emails, cobranças, webhooks e tarefas agendadas que possam atuar sobre serviços de produção. Verifique o acesso, as pesquisas e uma escrita de teste, e confirme que a base de dados original não mudou.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.