Tabla de contenido
    Reparación de bases de datos MySQL

    ¿Cómo reparar una base de datos MySQL en Linux?


    Tabla de contenido

      Resumen: Lea este blog para averiguar cómo reparar base de datos MySQL en Linux manualmente o mediante el uso de software de reparación de base de datos MySQL. Utilice el software para recuperar todos los componentes de base de datos sin afectar el archivo de base de datos original. Puede descargar la versión demo gratuita del software para obtener una vista previa de todos los componentes de base de datos recuperables.

      Cuando se ejecuta la base de datos MySQL en una máquina Linux, la base de datos puede corromperse debido a varias razones, como ataque de virus en la máquina, fallo de hardware, etc. Puede intentar restaurar la base de datos a partir de una copia de seguridad actualizada. Sin embargo, si la copia de seguridad no está disponible, puede intentar reparar la base de datos MySQL.

      Métodos para reparar bases de datos MySQL en Linux

      Método 1 – Reparación manual de la base de datos MySQL

      Nota: El paso a paso manual para reparar la base de datos MySQL puede diferir dependiendo del motor de almacenamiento que esté utilizando: InnoDB o MyISAM. Por lo tanto, la solución de problemas de corrupción de base de datos mediante la ejecución de diferentes pasos manuales requiere tiempo, aumentando el tiempo de inactividad de base de datos. Utilice una herramienta de reparación de bases de datos MySQL para reparar rápidamente la base de datos corrupta y restaurarla a su forma original.  

      Aquí, discutiremos el proceso paso a paso para reparar una base de datos MySQL corrupta en un sistema basado en Linux:

      Paso 1: Haga una copia de seguridad de su base de datos

      Asegúrese de hacer una copia de seguridad de su base de datos antes de intentar repararla. Si lo hace, evitará que su base de datos sufra más pérdidas. Para hacer una copia de seguridad de sus archivos de base de datos MySQL, siga estos pasos:

      1 Inicie sesión en su servidor a través de SSH

      2. Detenga su servidor MySQL utilizando cualquiera de los siguientes comandos basados en su distribución de Linux:

      Para CentOS y Fedora, introduzca:

      service mysqld stop

      Para Ubuntu y Debian, introduzca:

      service mysql stop

      3. Para hacer una copia de seguridad del archivo de base de datos, escriba:

      cp -r /var/lib/mysql /var/lib/mysql_backup

      4. Reinicie el servidor MySQL ejecutando el siguiente comando en su sistema Linux:

      service mysqld start

      Paso 2: Ejecute “mysqlcheck” para comprobar y reparar bases de datos MySQL

      Nota: El comando mysqlcheck es útil para los usuarios que quieren reparar la base de datos MySQL y las tablas sin detener el servicio MySQL.

      Una vez que haya realizado una copia de seguridad de sus bases de datos, ejecute el comando mysqlcheck para comprobar y reparar la base de datos y las tablas para los motores de base de datos MyISAM o InnoDB. Siga estos pasos para utilizar mysqlcheck para reparar la base de datos:

      1. Como usuario root, introduzca el siguiente comando:

      cd /var/lib/mysql

      2. Compruebe si la base de datos y todas sus tablas están corruptas escribiendo el comando:

      mysqlcheck nombre_base_de_datos

      Para comprobar si hay errores en una tabla específica de la base de datos, escriba el comando

      mysqlcheck nombre_base_de_datos nombre_tabla

      3. Si la tabla no está dañada, aparece un mensaje de OK. Sin embargo, si la tabla de la base de datos muestra algún error, deberá repararla mediante el siguiente comando:

      mysqlcheck -r nombre_base_de_datos nombre_tabla

      Si la ejecución del comando mysqlcheck no soluciona el problema, continúe con el siguiente paso.

      Paso 3: Realizar diagnósticos específicos del motor

      Ejecute diagnósticos específicos del motor de almacenamiento (InnoDB o MyISAM) utilizado por la base de datos y las tablas. Siga el procedimiento indicado a continuación para el motor de almacenamiento de la base de datos de su tabla.

      Reparación de tablas MyISAM con myisamchk

      Cuando su base de datos se ejecuta en el motor de almacenamiento MyISAM, ejecute el comando myisamchk para repararla. Para ello, siga estos pasos:

      Nota: El comando myisamchk sólo funciona para el motor de almacenamiento MyISAM.

      1. Detenga su servidor utilizando cualquiera de los siguientes comandos para su distribución de Linux:

      Para CentOS y Fedora, utilice:

      service mysqld stop

      Para Debian y Ubuntu, utilice:

      service mysql stop

      2. Escriba lo siguiente:

      cd /var/lib/mysql

      Cambie el directorio anterior por el directorio donde se encuentra su base de datos corrupta. Por ejemplo, si la base de datos se llama db1, escriba cd db1.

      3. Compruebe las tablas corruptas en la base de datos, utilizando el siguiente comando:

      myisamchk nombre_tabla

      Para comprobar todas las tablas de la base de datos, escriba el siguiente comando:

      myisamchk *.MYI

      4. Una vez que haya identificado las tablas dañadas en la base de datos, utilice el comando mysqlchk para reparar las tablas siguiendo este comando:

      myisamchk -recuperar tabla

      5. Reinicie el servidor:

      Para CentOS y Fedora, escriba:

      service mysqld start

      Para Debian y Ubuntu, escriba:

      service mysql start

      Ejecución del proceso de recuperación de InnoDB

      Para reparar la base de datos que se ejecuta en el motor de almacenamiento InnoDB, siga estos pasos:

      1. Abra el archivo de configuración de MySQL “my.cnf”. La ubicación del archivo my.cnf variará dependiendo de su sistema operativo Linux. En CentOS y Fedora, puede encontrar el archivo en el directorio ‘/etc’. Y en Debian y Ubuntu, el archivo de configuración se encuentra en el directorio ‘/etc/mysql’.
      2. Una vez localizado el archivo my.cnf, busca la sección [mysqld].
      3. En la sección [mysqld], añada la siguiente línea:
      innodb_force_recovery=4

      4. Guarde los cambios en el archivo de configuración de MySQL y, a continuación, reinicie el servidor MySQL:

      Para CentOS y Fedora:

      service mysqld restart

      Para Debian y Ubuntu:

      service mysql restart

      5. Ejecute el siguiente comando para exportar todas las bases de datos al archivo databasesbkp.sql:

      mysqldump -todas-bases-de-datos > bases-de-datosbkp.sql

      6. Inicie el servicio mysql y, a continuación, utilice el comando DROP DATABASE para intentar eliminar la base de datos afectada.

      Nota: Si no puede eliminar una base de datos, elimínela manualmente después de detener el servidor MySQL.

      7. Detenga el servidor MySQL.

      8. Escriba el siguiente comando para eliminar la base de datos manualmente:

      cd /var/lib/mysql rm -rf base de datos

      Sustituya “base de datos” por el nombre de la base de datos que desea reparar.

      9. Abra de nuevo el archivo my.cnf y comente la siguiente línea:

      #innodb_force_recovery=4     

      Esto desactivará el modo de recuperación InnoDB.

      10. Guarde los cambios realizados en el archivo my.cnf y, a continuación, inicie su Servidor MySQL.

      11. Intente restaurar la base de datos a partir de la copia de seguridad creada en el paso 5:

      mysql < basesdatosbkp.sql

      Ahora compruebe la base de datos restaurada. Si el problema persiste, utilice un software especializado de reparación de bases de datos MySQL para restaurar la base de datos.

      Método 2 – Reparación de bases de datos MySQL con Stellar Repair for MySQL

      Stellar Repair for MySQL es un potente software de reparación de bases de datos MySQL recomendado por los administradores de bases de datos para reparar bases de datos gravemente dañadas y restaurar todos sus objetos. El software permite la reparación de base de datos MySQL en Linux, así como el sistema de Windows.

      Descarga gratuita

      Para reparar una base de datos MySQL dañada creada en un sistema Linux, siga estos pasos:

      Paso 1: Descargue e instale el software. Para la instalación del software, abra el Terminal de Linux y, a continuación, introduzca el siguiente comando:

      $ sudo yum install nombre_de_la_aplicacion

      Nota: Aquí “app_name” es la ruta del paquete de software Stellar Repair for MySQL que necesita instalar.

      Paso 2: Inicie el software. La interfaz principal del software se abre con una ventana de Instrucciones. Haga clic en Aceptar para continuar.

      Inicie el software

      Paso 3: En la ventana Seleccionar Carpeta de Datos, seleccione la versión de su instalación MySQL, luego busque y seleccione la carpeta de datos que contiene la base de datos corrupta.

       Seleccionar Carpeta de Datos

      Paso 4: Se muestra la lista de las bases de datos almacenadas en la carpeta de datos seleccionada. Selecciona todas las bases de datos o una específica que quieras reparar y haz clic en Reparar.

      Reparar

      Paso 5: Haga clic en Aceptar cuando aparezca el cuadro de diálogo “Reparación finalizada”.

      Reparación finalizada

      Paso 6: El software muestra una vista previa de los componentes recuperables de la base de datos MySQL.

      vista previa de los componentes recuperables de la base de datos MySQL

      Paso 7: Haga clic en Save en el menú File para guardar el archivo de base de datos MySQL reparado.

      Paso 8: En el cuadro de diálogo “Guardar base de datos”, seleccione MySQL en Guardar como y, a continuación, introduzca los datos necesarios para conectarse a su servidor MySQL. Haga clic en Guardar para guardar el archivo de base de datos reparado en MySQL Server. 

      Guardar base de datos

      Paso 9: Aparecerá el mensaje “Save Complete” cuando se haya completado el proceso de guardar el archivo reparado.

      Después de ejecutar estos pasos, la base de datos MySQL será reparada.

      Conclusión

      La reparación de bases de datos MySQL en sistemas basados en Linux mediante el método manual no garantiza la restauración de todos los componentes de la base de datos. Puede funcionar para reparar problemas menores de la base de datos, pero no para reparar una base de datos MySQL muy dañada. El uso del software Stellar Repair for MySQL puede ayudarle a reparar una base de datos gravemente dañada y recuperar todos sus componentes, conservando la estructura de archivos y el contenido originales.

      Was this article helpful?

      No NO

      Sobre el autor

      Himanshu Shakya

      Himanshu is a Tech Enthusiast and Blogger at Stellar, with expertise in data recovery solutions and a keen interest in emerging technologies. Fluent in Japanese, he brings a diverse skill set to his role, contributing to global tech conversations. Outside of work, Himanshu enjoys playing chess, sharpening his strategic thinking and problem-solving skills in his spare time.

      Publicación relacionada

      POR QUÉ STELLAR® ES LÍDER MUNDIAL

      ¿Por qué elegir Stellar?

      • 0M+

        Clientes

      • 0+

        Años de excelencia

      • 0+

        Ingenieros de I+D

      • 0+

        Países

      • 0+

        SOCIOS

      • 0+

        Premios recibidos