Como reparar tabelas marcadas como defeituosas ou corrompidas no MySQL

Por mais de um ano utilizamos o plugin Counterizer para WordPress e assim mantemos as estatísticas do blog e seus leitores, este plugin desativamos há poucos dias porque (entre outras coisas) salvou mais de 600MB de dados no banco de dados.

Acontece que (antes de desativar o plugin e limpar o BD) tentei despejar o banco de dados, ou seja, exportá-lo para .SQL e assim baixá-lo e no terminal de hospedagem obtive o seguinte erro:

mysqldump: Erro obtido: 144: Tabela './dl_database/Counterize_Referers' está marcada como travada e o último reparo (automático?) falhou ao usar LOCK TABLES

Portanto o dump não foi realizado e bem... a mera ideia de pensar que o BD de DesdeLinux Tive um problema, fiquei com os cabelos em pé :)

Fazendo uma pequena pesquisa na web consegui aprender como resolver esse problema, aparentemente NÃO é que o banco de dados tenha problemas exatamente, apenas que uma tabela está marcada como 'com problemas', felizmente isso é muito simples de corrigir.

Primeiro, vamos acessar o servidor MySQL:

mysql -u root -p

Pressionamos [Enter] e ele nos pedirá a senha de root do MySQL, colocamos e pressionamos [Enter] novamente.

Este comando é no caso do servidor MySQL estar instalado no mesmo computador, se você deseja se conectar remotamente a outro servidor MySQL, você deve adicionar o seguinte à linha: -h IP-OF-SERVER

Uma vez dentro do MySQL iremos dizer qual banco de dados usar, por exemplo, o problema de acordo com o erro acima está na tabela Counterize_Referers do banco de dados  dl_database, pelo que:

use database dl_database;

E agora, para consertar a base da mesa:

repair table Counterize_Referers;

Observe que no final dessas linhas há um ponto e vírgula —– »  ;

Depois de executado o comando anterior, tudo deve ter voltado ao normal, pelo menos no meu caso já foi assim em mais de uma ocasião 😉

Então, resta apenas executar a instrução novamente para despejar o banco de dados e voila, nada mais.

De qualquer forma, eu faço isso mais do que qualquer outra coisa como um memorando para mim, porque a mesma coisa me aconteceu duas vezes e eu não quero esquecer as instruções para salvar o dia 😀

Saudações e espero que seja útil para outra pessoa.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Leão dito

    Muito bom, você sempre tem que ter esse tipo de item em mãos por qualquer motivo.

    1.    KZKG ^ Gaara dito

      Obrigado
      Sim… no momento em que ocorre o problema, é bom ter a solução em mãos, ou pelo menos saber onde encontrá-la sem demora.

  2.   eliotime3000 dito

    Bom KZKGGaara. Há coisas que o PHPMyAdmin não pode fazer, mas o console pode.

    1.    KZKG ^ Gaara dito

      Obrigado

  3.   Santiago dito

    Excelente, me salvou mais de uma vez.

    Mas eu me pergunto, não seria mysql -u root -p em vez de root -u root -p? Eu não quero ofender.

    Obrigado!

  4.   Santiago dito

    Excelente, me salvou mais de uma vez.
    Mas eu me pergunto, não seria mysql -u root -p em vez de root -u root -p? Eu pergunto sem a intenção de ofender.
    obrigado

    1.    KZKG ^ Gaara dito

      RI MUITO!!!! Totalmente verdade, meu erro LOL!
      Eu estava escrevendo e pensando um passo à frente, a partir daí escrever root em vez de mysql ... Obrigado pelo aviso 🙂

      1.    Santiago dito

        De nada! Desculpe pela postagem dupla; Tentei enviar várias vezes e ele me disse que já existia (recarreguei a página e não vi nada).
        Saudações.

  5.   Leper_Ivan dito

    Isso sai da minha cabeça agora que estou entrando no problema do DB.

  6.   Alexander dito

    Olá boa

    Uma pergunta, com que frequência você despeja o DB? é saber quanto tempo leva para obter até 600 MB de dados

    Uma saudação,

    1.    KZKG ^ Gaara dito

      Ehm ... eu não te entendi muito bem agora 🙂
      Antes de fazermos uma limpeza no banco de dados do DesdeLinux Este (ou seja, o .sql do BD) pesava mais de 700MB, pois mantivemos todas as estatísticas no BD. Ou seja, quase desde o início do blog.

      Agora estamos usando o Google A. então excluímos as tabelas de estatísticas do banco de dados e agora o .sql não atinge 80 MB

      Isso responde sua pergunta?

  7.   Alexander dito

    Olá boa

    Sem o troll, com que frequência você despeja o DB?

    1.    KZKG ^ Gaara dito

      Várias vezes por mês 🙂
      Eu sempre tento ter a versão mais recente do DesdeLinux

  8.   você gosta de comprar !! dito

    Parece ok para mim, agora não é possível fazer uma revisão geral das tabelas corrompidas?

  9.   Victoria dito

    Muito obrigado amigo, sua contribuição me ajudou muito.
    lembranças

  10.   Juan Mollega dito

    Muito obrigada querida, obrigada pelas dicas, elas me ajudaram !!
    Saudações de Trujillo-Venezuela.

  11.   Hernán Barra dito

    Estimativa
    Como sei se o processo está em execução, escrevi o comando repair table import; e lá estou eu

  12.   Andre cruz dito

    Muito obrigado, você salvou minha pele 😀

  13.   Marco dito

    Olá amigo, Não sei se pode me ajudar, aconteceu algo parecido com meu site, marque este erro:
    A tabela wp_posts não está correta. Relate o seguinte erro: A tabela está marcada como travada e o último reparo falhou. O WordPress tentará reparar esta tabela ...
    Falha ao reparar a tabela wp_posts. Erro: a tabela está marcada como travada e o último reparo falhou

    Não sei se você pode me ajudar a consertar, sou novo no WordPress avançado. Ao tentar reparar a tabela wp-post, ele mostra um erro que não pode ser reparado. Obrigado. Meu site é: https://diarionoticiasweb.com