jueves, 11 de septiembre de 2014
Reparando una tabla en mysql(mariadb)
Revisando un script de monitoreo para squid(mysar), encuentro que la tabla de traffic se esta corrupta, como resultado no se esta actualizando la información sobre el consumo de Internet en la empresa.
Para solucionar esto, encuentro el siguiente comando en esta pagina.
El comando es: myisamchk
Para usarlo en Linux basta con ir al directorio de la BD:
/var/lib/mysql/mysar
Ingresar al directorio de la base de datos corrupta.
# cd mysar/
Y lanzar el comando que arregle la tabla.
# myisamchk traffic
Checking MyISAM file: traffic
Data records: 254198 Deleted blocks: 0
myisamchk: warning: Table is marked as crashed and last repair failed
- check file-size
myisamchk: warning: Size of indexfile is: 12060672 Should be: 3869696
myisamchk: warning: Size of datafile is: 34516352 Should be: 34513644
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
myisamchk: error: Found 270143 keys of 254198
- check record links
myisamchk: error: Record-count is not ok; is 270143 Should be: 254198
myisamchk: warning: Found 2608 deleted space. Should be 0
myisamchk: warning: Found 17 deleted blocks Should be: 0
myisamchk: warning: Found 270167 parts Should be: 254198 parts
MyISAM-table 'traffic' is corrupted
Fix it using switch "-r" or "-o"
Revisamos los dos posibles escenarios para reparar:
# myisamchk traffic -r
- recovering (with sort) MyISAM-table 'traffic'
Data records: 254198
- Fixing index 1
- Fixing index 2
Data records: 270143
# myisamchk traffic -o
- recovering (with keycache) MyISAM-table 'traffic'
Data records: 270143
Finalmente reiniciamos el servicio y con esto ya hemos solucionado el inconveniente... fácil verdad?
Etiquetas:
base de datos,
daño tabla,
linux,
mariadb,
myisamchk,
mysql
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario