Estaba reparando esta tabla de repente, el servidor se colgó y cuando regresé, todas las tablas están bien, pero esta muestra 'en uso' y cuando intento repararla no continúa.
ERROR 144: la tabla './extas_d47727/xzclf_ads' está marcada como bloqueada y la última reparación (¿automática?) Falló
¿Qué puedo hacer para repararlo?
Respuestas:
Si su proceso MySQL se está ejecutando, deténgalo. En Debian:
Ve a tu carpeta de datos. En Debian:
Intenta correr:
Si eso no funciona, puedes probar:
Puede iniciar su servidor MySQL nuevamente. En Debian:
fuente
/var/lib/mysql/<database>
y corrermyisamchk -r -v -f ./<table name>
.myisam_sort_buffer_size is too small
error, por lo que este comando funcionó para mí:myisamchk -r -v --sort_buffer_size=2G <table_name>
Intente ejecutar la siguiente consulta:
Tuve el mismo problema y me resolvió el problema.
fuente
Si le da permiso denegación mientras se mueve a / var / lib / mysql, use la siguiente solución
fuente
Necesitaba agregar USE_FRM a la declaración de reparación para que funcione.
fuente
Tengo
myisamchk: error: myisam_sort_buffer_size is too small
como error.La solución
fuente
Vaya
data_dir
y elimine elYour_table.TMP
archivo después de reparar la<Your_table>
tabla.fuente
data_dir
?grep -r datadir /etc/mysql/
. Debería estar/var/lib/mysql
bajo Debian y Ubuntu.Esta es una solución 100%. Lo intenté yo mismo.
myisamchk -r -v -f --sort_buffer_size = 128M --key_buffer_size = 128M / var / lib / mysql / databasename / tabloname
fuente
Probé las opciones en las respuestas existentes, principalmente la marcada correcta que no funcionó en mi escenario. Sin embargo, lo que sí funcionó fue usar phpMyAdmin. Seleccione la base de datos y luego seleccione la tabla, en el menú desplegable inferior seleccione "Reparar tabla".
fuente