Vai reinstalar a aplicação e quer começar do zero. O caminho óbvio parece ser apagar o banco de dados e criar outra. É o caminho errado, e a conta chega mais tarde: a reinstalação falha a dizer que não consegue ligar, com o nome certo, o usuário certo e a senha certa, e ninguém percebe por quê.
A diferença que ninguém explica
Numa conta de hospedagem há três peças separadas, e só a primeira é o banco de dados propriamente dito.
| A peça |
O que lhe acontece se apagar a base |
| A base, com as tabelas lá dentro |
Desaparece, e com ela tudo o que estava guardado. |
| O usuário da base |
Continua existindo e continua aparecendo na lista do cPanel. Mas fica sem nada a que acessar. |
| A ligação entre os dois, com as permissões |
Desaparece também, e é esta que ninguém vê. Criar outra base com exatamente o mesmo nome não a traz de volta: tem de voltar a juntar o usuário à base e a dar-lhe todos os privilégios, à mão. |
É por isto que a reinstalação falha com tudo aparentemente certo. Os dados de conexão estão bons; o que falta é a autorização, que se foi com a base velha.
|
Antes de tudo, uma exportação. Sempre, e mesmo quando tem a certeza de que não precisa dela. No phpMyAdmin, com a base aberta, a aba de exportar dá-lhe o arquivo. Se a base for grande, exporte-a por SSH: importar (e exportar) uma base grande por SSH. Guarde o arquivo fora do servidor. Isto é instantâneo e não tem desfazer.
|
Esvaziar: apagar as tabelas e deixar a base de pé
Esvaziar é apagar as tabelas. A base fica, o usuário fica, as permissões ficam, e o arquivo de configuração da aplicação continua servindo sem se lhe tocar. É o que quer em quase todos os casos.
| 1 |
Faça a exportação e guarde-a no seu computador. Nunca a deixe dentro da pasta do site: um arquivo de banco de dados à solta ali é a senha e os dados todos ao alcance de quem adivinhar o nome.
|
|
| 2 |
No phpMyAdmin, abra a base e marque todas as tabelas. Em baixo da lista há uma caixa de ações para o que está marcado: escolha a de excluir, que aparece como Drop. Ele mostra-lhe os comandos e pede confirmação antes de rodar o que quer que seja.
|
|
| 3 |
Confirme que ficou vazia, e não que sumiu. A base tem de continuar na lista da esquerda, agora sem tabela nenhuma. Se desapareceu da lista, apagou a base em vez das tabelas: vá à última seção deste artigo.
|
|
| 4 |
Reinstale. A aplicação nova encontra a base vazia e cria nela as tabelas dela.
|
|
|
Se algumas tabelas se recusarem a sair, é porque outras dependem delas. A maneira que funciona sempre é rodar tudo de uma só vez na aba SQL: primeiro SET FOREIGN_KEY_CHECKS = 0;, a seguir os comandos de excluir, e SET FOREIGN_KEY_CHECKS = 1; no fim. Tem mesmo de ser tudo no mesmo envio: cada envio ao phpMyAdmin abre um link novo, e essa configuração não passa de um link para o outro.
|
A lista de comandos, sem a escrever à mão
Numa base com dezenas de tabelas ninguém escreve o comando de cada uma. Peça a lista ao próprio motor. Na aba SQL, troque conta_base pelo nome completo da sua base, com prefixo:
SELECT CONCAT('DROP TABLE IF EXISTS `', table_name, '`;') FROM information_schema.tables WHERE table_schema = 'conta_base';
O resultado é a lista pronta a rodar. Copie-a, cole-a na mesma aba entre as duas linhas do FOREIGN_KEY_CHECKS, e execute. Leia a lista antes de a rodar: se aparecer lá o nome de uma tabela de outro site, escreveu o nome da base errada.
Quando apagar a base é mesmo o que quer
| O que quer fazer |
O que se faz |
| Reinstalar a mesma aplicação de raiz |
Esvaziar. A base e o usuário servem outra vez, e não mexe no arquivo de configuração. |
| Trocar de aplicação naquele domínio |
Esvaziar. A aplicação nova cria as tabelas dela numa base vazia sem se queixar. |
| Deixar de usar aquela base de vez |
Apagar. E apague também o usuário, se não servir mais nada: um usuário esquecido, com senha antiga, é uma porta a mais. |
| Liberar espaço e continuar usando o site |
Nenhuma das duas. O que quer é limpar, e isso faz-se com o site a andar: limpar e otimizar o banco de dados. |
| O site deixou de ligar e não sabe por quê |
Não apague nada. A lista de causas está em quando o site diz que não consegue ligar ao banco de dados. |
Já apagou a base. Como se repara
| 1 |
Crie outra base com exatamente o mesmo nome. No cPanel escreve-se só a parte que escolheu; o prefixo da conta ele acrescenta sozinho. O nome final tem de ficar igual, letra a letra, ao que está no arquivo de configuração da aplicação.
|
|
| 3 |
Importe a exportação, se a tiver. Se o arquivo for grande de mais para o phpMyAdmin, o caminho é importar por SSH.
|
|
|
Confirme o nome da base antes de apagar o que quer que seja. Se a conta tiver vários sites, os nomes parecem-se todos, e o mesmo prefixo está à frente de todos eles. Um site que nada tinha a ver com isto pode ficar vazio em dois segundos. Se não tem a certeza de qual é a base daquele site, descubra-a primeiro.
|
|
Apagou a base e não tem cópia sua? Diga-nos o domínio e a hora, depressa, que vamos ver o que há guardado.
Abrir um pedido de suporte
|
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom) Ver planos |