Vai reinstalar a aplicação e quer começar do zero. O caminho óbvio parece ser apagar a base 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 utilizador certo e a palavra-passe certa, e ninguém percebe porquê.
A diferença que ninguém explica
Numa conta de hospedagem há três peças separadas, e só a primeira é a base de dados propriamente dita.
| 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 utilizador da base |
Continua a existir e continua a aparecer na lista do cPanel. Mas fica sem nada a que aceder. |
| A ligação entre os dois, com as permissões |
Desaparece também, e é esta que ninguém vê. Criar outra base com exactamente o mesmo nome não a traz de volta: tem de voltar a juntar o utilizador à 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 ligaçã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, o separador de exportar dá-lhe o ficheiro. Se a base for grande, exporte-a por SSH: importar (e exportar) uma base grande por SSH. Guarde o ficheiro 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 utilizador fica, as permissões ficam, e o ficheiro de configuração da aplicação continua a servir 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 ficheiro de base de dados à solta ali é a palavra-passe 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 acções para o que está marcado: escolha a de eliminar, que aparece como Drop. Ele mostra-lhe os comandos e pede confirmação antes de correr 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 secçã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 é correr tudo de uma só vez no separador SQL: primeiro SET FOREIGN_KEY_CHECKS = 0;, a seguir os comandos de eliminar, e SET FOREIGN_KEY_CHECKS = 1; no fim. Tem mesmo de ser tudo no mesmo envio: cada envio ao phpMyAdmin abre uma ligação nova, e essa definição não passa de uma ligação para a outra.
|
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. No separador 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 correr. Copie-a, cole-a no mesmo separador entre as duas linhas do FOREIGN_KEY_CHECKS, e execute. Leia a lista antes de a correr: 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 utilizador servem outra vez, e não mexe no ficheiro 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 utilizador, se não servir mais nada: um utilizador esquecido, com palavra-passe antiga, é uma porta a mais. |
| Libertar espaço e continuar a usar o site |
Nenhuma das duas. O que quer é limpar, e isso faz-se com o site a andar: limpar e optimizar a base de dados. |
| O site deixou de ligar e não sabe porquê |
Não apague nada. A lista de causas está em quando o site diz que não consegue ligar à base de dados. |
Já apagou a base. Como se repara
| 1 |
Crie outra base com exactamente 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 ficheiro de configuração da aplicação.
|
|
| 3 |
Importe a exportação, se a tiver. Se o ficheiro 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 396,00 MT/mês (plano de 3 anos, com cupão) Ver planos |