A tabela está marcada como travada e deve ser reparada

190

Estou recebendo este erro no wordpress phpMyadmin

#145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 

Quando eu faço login no phpMyadmin, ele diz que wp_posts está "em uso"

No momento, meu site está inativo por causa disso.

Eu pesquisei esse problema no Google, mas não vejo o botão "reparar" no phpMyadmin. Por favor, deixe-me saber como corrigir isso. Não sei onde emitir o comando PHP. Por favor, informe, minha proficiência em PHP é muito básica.

John Connor
fonte

Respostas:

215

Aqui é onde está o botão de reparo:

texto alternativo

Nican
fonte
183

Execute isso na linha de comando do seu servidor:

 mysqlcheck --repair --all-databases
tylerl
fonte
45
Para evitar um erro de 'acesso negado', pode ser necessário adicionar o nome de usuário e a senha a este comando. mysqlcheck -uroot -p --repair --all-databasese forneça a senha.
wruckie
118

Eu tive o mesmo problema quando o espaço livre em disco disponível no servidor era 0

Você pode usar o comando (deve haver amplo espaço para os arquivos mysql)

REPAIR TABLE `<table name>`;

para reparar mesas individuais

Arun Killu
fonte
Útil, tive esse problema com uma mesa UC Drupal v7.6x, que de repente apareceu; emitiu o comando REPAIR TABLE conforme descrito acima no console phpMyAdmin SQL e o corrigiu. Graças a Deus por stackoverflow !! Felicidades!
Paul B
25

Conecte-se ao seu servidor via SSH

então conecte-se ao seu console mysql

e

USE user_base
REPAIR TABLE TABLE;

-OU-

Se houver muitas tabelas quebradas no banco de dados atual:

mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base

Se houver muitas tabelas quebradas em muitos bancos de dados:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A
Nedudi
fonte
2
Não coloque senhas na linha de comando, elas serão salvas no histórico de maneira e local não seguros. Os comandos do mysql permitem que você passe o parâmetro -psozinho e solicita sua senha.
Thierry J.
7

Quando recebi este erro:

# 145 - A tabela '. \ Engine \ phpbb3_posts' está marcada como travada e deve ser reparada

Eu executei este comando no PhpMyAdmin para corrigi-lo:

REPAIR TABLE phpbb3_posts;
RasoolLotfi
fonte
6

Isso significa que sua tabela MySQL está corrompida e você precisa repará-la. Usar

myisamchk -r /DB_NAME/wp_posts

a partir da linha de comando. Enquanto você executa o reparo, encerre seu site temporariamente para que nenhuma conexão nova seja tentada no banco de dados enquanto este estiver sendo reparado.

Dmitri
fonte
Pedi isso ao comentário acima, mas acho que ele está desconectado, portanto, solicite novamente. "Muito obrigado, meu site está online novamente. Uma pergunta, como o banco de dados estava corrompido e eu o consertei novamente, devo me preocupar com alguma coisa? Devo investigar se isso fez com que algo mais quebrasse? Ou isso deveria ter sido resolvido de tudo? "
John Connor
Você não deve estar preocupado com nada. Depois que o banco de dados for reparado, o site funcionará novamente. Ele pode ser corrompido novamente em algum momento, apenas repare-o. Também faça backups regularmente e você ficará bem
Dmitri