¿Cómo arreglar la corrupción de la base de datos del servidor MySQL?

Summary: Este blog describirá las posibles razones detrás de la corrupción de base de datos MySQL Server y los pasos para solucionar el problema. Estos pasos incluyen la copia de seguridad de la base de datos (db) antes de realizar operaciones de recuperación, el uso de 'innodb_force_recovery', etc.

El blog también explicará cómo el software de reparación de MySQL puede ayudar cuando usted es incapaz de reparar y restaurar la base de datos.

La corrupción de bases de datos en MySQL Server, si no se maneja adecuadamente o no se resuelve a tiempo, puede conducir a importantes tiempos de inactividad y pérdida de datos.

Por desgracia, es posible que ni siquiera se dé cuenta de que su servidor MySQL se ha vuelto corrupto, hasta que el servidor acceda a una tabla corrupta o el servidor se apague.

¿Qué causa la corrupción de la base de datos en el servidor MySQL?

Las siguientes son algunas de las razones comunes detrás de la corrupción de base de datos MySQL Server:

Además de estas razones, la corrupción de la base de datos también depende de si está utilizando el motor de almacenamiento MyISAM o InnoDB. Esto se debe a que las tablas MyISAM son más susceptibles a la corrupción.

¿Qué hacer cuando la base de datos MySQL se corrompe?

Normalmente, cuando la base de datos MySQL se corrompe, se recomienda restaurarla desde la última copia de seguridad buena conocida. Pero si usted no tiene la copia de seguridad, la realización de operaciones de recuperación puede ayudar a solucionar la corrupción de base de datos MySQL.

Incluso si la copia de seguridad está disponible, intentar la recuperación puede ser una mejor opción, ya que toma menos tiempo en volver a tener la base de datos en línea.

Pasos para solucionar la corrupción de la base de datos MySQL

Intente resolver la corrupción de la base de datos siguiendo los pasos en la secuencia indicada a continuación:

NOTA: Estos pasos sólo funcionarán si el servidor de bases de datos MySQL está en funcionamiento. Pero, si el servicio MySQL deja de funcionar (se ha bloqueado) y no puede iniciar sesión en el cliente de línea de comandos MySQL, la única opción que le queda es restaurar la base de datos a partir de una buena copia de seguridad conocida. Si no hay copia de seguridad, el uso de un software especializado de reparación de MySQL puede ayudar.

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

Antes de intentar reparar la base de datos corrupta, asegúrese de hacer primero una copia de seguridad de los archivos de la base de datos.

Aunque la base de datos ya esté corrupta, hacer una copia de seguridad ayudará a minimizar el riesgo de que se produzcan más daños, que pueden ser causados debido a una operación de recuperación.

Para hacer una copia de seguridad de todos los archivos db, sigue estos pasos:

  1. Detenga el servidor MySQL.
  2. Crea una copia de seguridad de tu datadir.

Paso 2 – Restablecer la base de datos en modo de recuperación

NOTA: Si MySQL Server utiliza MyISAM como motor de almacenamiento predeterminado, vaya al Paso 3 para conocer el proceso de reparación de la base de datos corrupta.

Si InnoDB es el motor de almacenamiento por defecto de MySQL Server, en algunos casos de corrupción de la base de datos, simplemente volcar, eliminar y volver a crear una o unas pocas tablas corruptas le funcionará. Para ello, utilice la sentencia CHECK TABLE para comprobar las tablas que están corruptas.

Lea esto: Cómo reparar tabla de base de datos MySQL sin tiempo de inactividad?

Si la corrupción de la base de datos es grave, es probable que tenga problemas al iniciar su servidor MySQL. En tal caso, forzar la recuperación de InnoDB puede ayudar a iniciar MySQL.

Para utilizar la opción ‘innodb_force_recovery’, siga estos pasos:

  1. Abra el archivo de configuración de MySQL y añada la siguiente línea de código a la sección [mysqld] antes de reiniciar el servidor:

NOTA: El valor de innodb_force_recovery es ‘0’ por defecto. Sin embargo, para iniciar InnoDB y volcar tablas MySQL, deberá establecer el valor en ‘1’ e incrementar el valor de forma incremental (de 1 a 6).

Sin embargo, tenga en cuenta que establecer el valor de la opción innodb_force_recovery en 4 o superior aumenta las posibilidades de corrupción de datos.

[mysqld]

innodb_force_recovery=1

mysqldump -u[usuario] -p[contraseña] –all-databases > all_databases.sql

NOTA: El archivo de volcado de este ejemplo se llama all_databases.sql. Pero, puedes cambiarlo por el que quieras.

#innodb_force_recovery=…

 mysql> source todas_las_bases_de_datos.sql

Lea sobre: Las mejores formas de reparar la corrupción de tablas InnoDB en MySQL.

Paso 3 – Reparación de tablas MyISAM con myisamchk

Ejecute el comando myisamchk para reparar las tablas MyISAM siguiendo estos pasos:

NOTA: El comando myisamchk no funciona para las tablas que utilizan el motor InnoDB.

  1. Detenga el servidor MySQL.
  2. Utilice el siguiente comando para comprobar las tablas corruptas:

MESA myisamchk

myisamchk *.MYI

myisamchk -recover TABLA

Consulte este enlace para obtener información detallada sobre “Cómo reparar una tabla MyISAM con myisamchk”.

¿Y si nada funciona?

Si los pasos de solución de problemas no logran resolver el problema, utilice el software Stellar Repair for MySQL para reparar la base de datos corrupta y restaurar todos sus objetos. El software puede reparar bases de datos MySQL en sistemas Windows y Linux.

Algunas razones por las que debería utilizar el software Stellar Repair for MySQL

Pasos para reparar una base de datos MySQL corrupta con el software Stellar Repair for MySQL

Requisitos previos:

Paso 1: Descargue, instale y ejecute el software Stellar Repair for MySQL.

Paso 2: En la ventana Seleccionar carpeta de datos, seleccione la versión de MySQL que esté utilizando.

Figura 1- Ventana de selección de la carpeta de datos

Paso 3: Aparece la ventana Seleccionar base de datos. Seleccione la base de datos que desea reparar.

Figura 2- Ventana de selección de base de datos

Paso 4: Haga clic en Reparar para iniciar el proceso de reparación.

Paso 5: Cuando aparezca el cuadro de diálogo Reparación Completa, haga clic en Aceptar.

Paso 6: El software muestra una vista previa de la base de datos reparada y sus componentes recuperables.

Figura 3 – Ventana de vista previa

Paso 7: Haga clic en Guardar en el menú Archivo para guardar la base de datos reparada.

Figura 4 – Menú Archivo

Paso 8: En la ventana Guardar base de datos, elija el formato de archivo MySQL y, a continuación, haga clic en Guardar.

Figura 5 – Ventana Guardar base de datos

Paso 9: Cuando aparezca el mensaje “Proceso de guardado completado”, haga clic en Aceptar.

Figura 6 – Guardar mensaje completo

La base de datos reparada se guardará en la ubicación seleccionada.

Nota final

Cuando se trata de resolver la corrupción de base de datos en el servidor MySQL, la ejecución de los pasos de solución de problemas discutidos en este post puede ayudarle a solucionar el problema.

Pero, si no es un experto en el manejo de la corrupción de bases de datos o tiene una base de datos de gran tamaño (con gigabytes o terabytes de datos), es posible que no pueda restaurar la base de datos corrupta con las opciones de reparación y recuperación. Además, las opciones de recuperación como innodb_force_recovery establecidas en un valor de 4 o superior pueden provocar la corrupción de los datos.

Una alternativa mejor es utilizar un software de reparación de MySQL especialmente diseñado para reparar una base de datos corrupta fácilmente, en el formato original.

Related Post

Exit mobile version