Reparar bases de datos con mysqlcheck

Reparar bases de datos con mysqlcheck, en MariaDB o MySQL.

La herramienta mysqlcheck, es indispensable para realizar un correcto mantenimiento de las tablas: analiza, verifica, optimiza y repara las tablas de una base de datos MariaDB o MySQL.

Debes tener presente, que mysqlcheck no funciona con tablas peticionadas. Mysqlcheck es similar a myisamchk, pero tiene una forma de operar diferente. La principal diferencia es… que mysqlcheck se usa con el servidor mysqld en ejecución, y por el contrario, usamos myisamchk con el servidor parado. Es evidente que el beneficio de usar mysqlcheck, no entorpece el funcionamiento del servicio.

Tal vez te preguntes como trabaja la herramienta, la respuesta es simple, tan solo es una interfaz en línea de comandos con la capacidad de ejecutar otros comandos específicos, que tratan una base de datos. Por ejemplo: CHECK TABLEREPAIR TABLEANALYZE TABLE y OPTIMIZE TABLE.

Reparar bases de datos

Reparar bases de datos

 

Reparar bases de datos con mysqlcheck

Estos son los comandos de mysqlcheck, más utilizados. Si tienes problemas para ejecutarlos, tienes la solución al final del articulo.

Verificar y reparar todas las bases de datos.

mysqlcheck -A --auto-repair -u root -p

Forzar la optimización y autoreparación de todas las tablas.

mysqlcheck -A --auto-repair -f -o -u root -p

Verificar todas las bases de datos.

mysqlcheck --all-databases -u root -p -c

Verificar las tablas de todas las bases de datos.

mysqlcheck --all-databases -u root -p -a

Reparar las tablas de todas las bases de datos.

mysqlcheck --all-databases -u root -p -r

Optimizar las tablas de todas las bases de datos.

mysqlcheck --all-databases -u root -p -o
Reparar bases de datos.MariaDB o MySQL

Reparar bases de datos.MariaDB o MySQL

 

Existen muchas otras opciones, que puedes revisar en el siguiente enlace.

 

Problemas con el root

Si al ejecutar cualquier comando descrito anteriormente, aparece un error similar, a…

mysqlcheck: Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: YES) when trying to connect

[root@BackslinuX ~]# mysqlcheck -A --auto-repair -u root -p
Enter password: 
mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
[root@BackslinuX ~]#

Esto sucede porque tienes algún problema de privilegios. Lo que hacemos introducir un password al usuario root de MySQL y, darle permisos.

mysql

Ejecuta estas declaraciones (no te olvides de introducir una contraseña).

mysql -u root mysql 

mysql> UPDATE user SET Password=PASSWORD('una-password') where USER='root';

mysql> FLUSH PRIVILEGES;

Si aparece algún error de contraseña, ejecuta…

update user set authentication_string=password('una-password') where user='root';

Para salir de la consola MySQL.

exit

Imagen de ejemplo.

Salir de la consola MySQL MariaDB Reparar bases de datos

Salir de la consola MySQL /  MariaDB – Reparar bases de datos

 

Solo falta reiniciar el servicio.

# MariaDB
systemctl restart mariadb.service
# o
systemctl restart mariadb

# MySQL
systemctl restart mysql.service
# o
systemctl restart mysql

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Reparar bases de datos con mysqlcheck.

Chat de SoloLinux en Telegram

 

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido