A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa

Recuperando tabelas bichadas

Sab

21

Fev

2009


20:33

(1 voto de 5.00) 


Meu sistema de gerenciamento de conteúdo (CMS) preferido é o Joomla e este sistema de gerenciamento depende e solicita intensamente o banco de dados MySQL. Como existem tabelas que são atualizadas com uma frequência muito grande (quanto mais o site é visitado, mais elas são alteradas), me deparei algumas vezes com tabelas corrompidas que impediam o acesso aos sites. Como um site fora do ar é a última coisa que um webmaster deseja, nada mais do que a obrigação de saber como corrigir tabelas detonadas para que tudo volte ao normal.

Identificando a tabela corrompida

Ao acessar um site com problema, se este estiver relacionado ao banco de dados a mensagem de erro já nos indica a tabela culpada. Em 99% das vezes, o problema que encontrei foi com a tabela jos_session, mas isto tem uma importância secundária. O que importa é: o que fazer quando uma tabela corrompida está travando o site?

Existem duas situações: você tem acesso ao seu servidor e pode acionar diretamente o MySQL ou você tem acesso ao phpMyAdmin, uma interface de gerenciamento deste banco de dados. Vou explicar como agir nos dois casos.

Usando o phpMyAdmin

Base de dados

Entre no phpMyAdmin e, no painel da esquerda, selecione a base dados do seu site. Isto faz com que todas as tabelas desta base de dados sejam apresentadas. Marque a tabela que está dando problemas, role até o final da página e escolha [Repair table].

Isto deve resolver o problema. Teste se tudo está OK chamando novamente o seu site (espero que sim!).

Repair

Com acesso ao seu servidor

Tendo acesso direto ao seu servidor, a coisa fica muito mais fácil. Entre no seu banco de dados:

# mysql -p
Enter password:

Digite sua senha:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 49893 to server version: 4.1.14-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

A seguir, chame a sua base de dados (troque baseDeDados pelo nome da sua base de dados):

mysql> use baseDeDados;

Depois disto, peça para checar a tabela que está dando problemas (digamos que o nome da tabela seja jos_session):

mysql> check table jos_session;

Se a resposta for "corrupted" ou coisa do gênero, corrija tudo com um:

mysql> repair table jos_session;

Só para garantir, cheque a tabela novamente:

mysql> check table jos_session;
+--------------------+-------+----------+----------+
| Table              | Op    | Msg_type | Msg_text |
+--------------------+-------+----------+----------+
| joomla.jos_session | check | status   | OK       |
+--------------------+-------+----------+----------+
1 row in set (0.00 sec)

Se o status for OK, isto resolveu o problema desta tabela. Chame novamente o seu site para ver se tudo voltou ao normal.

Вадим Логофет детиарабский макияж пошаговополигон компания отзывы новости планшетовoltatravel 101 otzyvопционы mfx

Informações adicionais