Tabla de contenido
    Reparación de bases de datos MySQL

    ¿Cómo utilizar las herramientas integradas de MySQL para reparar la base de datos MySQL?


    Tabla de contenido

      Resumen: La base de datos MySQL puede corromperse o dañarse por varias razones. En este post, vamos a ver cómo se pueden utilizar las herramientas integradas en MySQL para reparar bases de datos MySQL corruptos o dañados. También mencionaremos una herramienta de reparación de MySQL de terceros que puede reparar fácilmente bases de datos corruptas o dañadas. A veces los problemas de hardware o software pueden dañar o corromper las bases de datos MySQL. Sin embargo, puede utilizar las herramientas integradas de MySQL para reparar bases de datos dañadas o corruptas. A continuación se muestra cómo utilizar Mysqlcheck - una herramienta común incorporada en MySQL - para reparar bases de datos corruptas.

      ¿Cómo utilizar el comando Mysqlcheck en MySQL para reparar bases de datos?

      Mysqlcheck es un comando utilizado para el mantenimiento de tablas. Con este comando puede comprobar las tablas de una base de datos, reparar la base de datos, optimizar el rendimiento de las tablas o analizar las tablas.

      Debe tenerse en cuenta que este comando bloquea las tablas. Además, el servidor MySQL debe estar en ejecución para que pueda utilizar el comando.

      El siguiente comando muestra el estado del servidor en Windows:

      sc consulta mysqlXX

      Aquí XX es la versión de MySQL.

      El comando proporciona la siguiente información:

      Aquí XX es la versión de MySQL.
      • Nombre del servicio es el nombre del servicio.
      • El tipo WIN32_OWN_PROCESS significa que este servicio no depende de otros servicios.
      • El estado del servicio. En este caso es RUNNING. También puede ser PARADO o EN PAUSA.
      • Si el WIN32_EXIT_CODE es 0, significa que el servicio ha finalizado sin problemas.
      • CHECKPOINT igual a 0 significa que no hay punto de control. Este valor es para uso interno.
      • WAIT_HINT estima el tiempo en ms que el servicio necesita para finalizar la operación.

      Veamos algunos ejemplos de ejecución del comando.

      En la carpeta bin de MySQL, ejecute este comando en la línea de comandos:

      Mysqlcheck -repair stellardb

      Este comando repara la base de datos llamada stellardb.

      El siguiente comando comprime la conexión utilizada por el comando.

      mysqlcheck -r -compress stellardb

      Nota: Las opciones -repair y -r son idénticas.

      En el siguiente ejemplo, la base de datos se repara automáticamente si es necesario. La opción de reparación automática comprueba el estado de las tablas. Si hay errores, se reparan.

      mysqlcheck -r -auto-repair stellardb

      La siguiente opción se utiliza para comprobar sólo las tablas que no se han cerrado correctamente.

      mysqlcheck -fast stellardb

      Si desea depurar, puede utilizar la opción -debug. En el siguiente ejemplo, se crea un registro en el archivo c:\log\debug.log.

      mysqlcheck -debug=d:t:o,c:\log\debug.log stellardb

      En el ejemplo anterior:

      • d significa depuración.
      • t significa que la marca de tiempo debe incluirse en el archivo de registro.
      • o significa que te conectas a un nombre de archivo.

      Por último, existe la opción “Analizar”, con la que puede comprobar las estadísticas y la distribución de claves de una tabla. El siguiente ejemplo muestra cómo puede utilizar esta opción.

      mysqlcheck -analizar stellardb

      Una solución alternativa

      A veces no es suficiente utilizar el comando mysqlcheck. Necesita utilizar otras herramientas para reparar la base o bases de datos MySQL dañadas. Una de estas herramientas es Stellar Repair for MySQL.

      Para reparar la base de datos, debe detener el servicio MySQL y hacer una copia de la carpeta con la base de datos.

      Puede detener los servicios mediante los servicios de Windows.

      Puede detener los servicios mediante los servicios de Windows

      Introduzca Servicios en la barra de búsqueda de Windows y haga clic en la aplicación Servicios. En la página Servicios, haga clic con el botón derecho en el servicio y seleccione Detener.

      Barra de búsqueda de Windows

      Después de parar, busque las bases de datos. Normalmente se almacenan en la siguiente ubicación:

      C:\ProgramDataMySQLMySQL Server X.X\Data

      X.X es el número de versión.

      Copie la carpeta de datos a otra ubicación. Puedes hacerlo manualmente en Windows o a través de la línea de comandos:

      xcopy /s /e /i “C:\ProgramDataMySQL\MySQL Server 8.0\Data” “c:\backup\data”

      Una vez copiados los datos, abra Stellar Repair for MySQL, haga clic en el botón Examinar y seleccione la carpeta en el directorio c:\backup\data.

      Abrir Stellar Repair for MySQL

      Seleccione la base o bases de datos que desea reparar y pulse el botón Reparar.

      Seleccione la base de datos

      Pulse el icono Guardar para guardar los objetos.

      Pulse el icono Guardar para guardar los objetos

      Puedes guardar y restaurar la información en una base de datos o exportarla a varios formatos como Excel, HTML y CSV.

      Conclusión

      En este artículo hemos discutido varias opciones que el comando mysqlcheck ofrece para comprobar y reparar la base de datos MySQL. Si el comando no puede reparar la base de datos, puede utilizar Stellar Repair for MySQL. Es un potente software para reparar bases de datos MySQL dañadas y recuperar todos los objetos de la base de datos.

      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