La mesa está marcada como bloqueada y debe repararse

191

Recibo este error en wordpress phpMyadmin

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

Cuando inicio sesión en phpMyadmin, dice que wp_posts está "en uso"

Mi sitio web está actualmente inactivo debido a esto.

Busqué en Google este problema, pero no veo el botón "reparar" en phpMyadmin. Por favor hazme saber como arreglar esto. No estoy seguro de dónde emitir el comando PHP. Por favor avise, mi habilidad con PHP es muy básica.

John Connor
fuente

Respuestas:

215

Aquí es donde está el botón de reparación:

texto alternativo

Nican
fuente
183

Ejecute esto desde la línea de comando de su servidor:

 mysqlcheck --repair --all-databases
tylerl
fuente
45
Para evitar un error de "acceso denegado", es posible que deba agregar el nombre de usuario y la contraseña a este comando. mysqlcheck -uroot -p --repair --all-databasesy proporcione la contraseña.
wruckie
120

Tuve el mismo problema cuando el espacio libre en el disco de mi servidor era 0

Puede usar el comando (debe haber un amplio espacio para los archivos mysql)

REPAIR TABLE `<table name>`;

para reparar mesas individuales

Arun Killu
fuente
Útil, tuve este problema con una tabla UC Drupal v7.6x, que de repente se jugó; emitió el comando REPAIR TABLE como se indicó anteriormente en la consola phpMyAdmin SQL y lo arregló. ¡Gracias a Dios por stackoverflow! ¡Salud!
Paul B
25

Conéctese a su servidor a través de SSH

luego conéctese a su consola mysql

y

USE user_base
REPAIR TABLE TABLE;

-O-

Si hay muchas tablas rotas en la base de datos actual:

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

Si hay muchas tablas rotas en muchas bases de datos:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A
Nedudi
fuente
2
No coloque las contraseñas en la línea de comandos, luego se guardan en el historial de forma y ubicación no seguras. Los comandos de mysql le permiten pasar el parámetro -psolo, y luego le pedirá su contraseña.
Thierry J.
7

Cuando recibí este error:

# 145 - La tabla '. \ Engine \ phpbb3_posts' está marcada como bloqueada y debe repararse

Ejecuté este comando en PhpMyAdmin para solucionarlo:

REPAIR TABLE phpbb3_posts;
RasoolLotfi
fuente
6

Esto significa que su tabla MySQL está dañada y necesita repararla. Utilizar

myisamchk -r /DB_NAME/wp_posts

desde la línea de comando. Mientras ejecuta la reparación, debe cerrar su sitio web temporalmente para que no se intenten nuevas conexiones a su base de datos mientras se repara.

Dmitri
fuente
Le pedí esto al comentario anterior, pero creo que ha cerrado la sesión, por lo que se lo vuelvo a pedir. "Muchas gracias, mi sitio vuelve a estar en línea nuevamente. Sin embargo, una pregunta, ya que la base de datos estaba dañada y la reparé nuevamente, ¿debería preocuparme por algo? ¿Debería investigar si eso hizo que algo se rompiera? ¿de todo?"
John Connor
No debes preocuparte por nada. Una vez que se repare la base de datos, su sitio volverá a funcionar. Puede volver a corromperse en algún momento, sucede, solo repare nuevamente. También haga copias de seguridad regularmente y estará bien
Dmitri