Mysql o MariaDB error ibtmp1 size is now 12MiB [Solucionado]

Seguro te has topado con este error en tu versión de XAMPP o LARAGON. Este post es para desarrollar la posible causa y solución del error ibtmp1 size is now 12MiB.

¿Cómo detectamos este error?

Primero vamos a notar que en XAMPP o Laragon no arranca el servicio de Mysql o MariaDB

En XAMPP:

Error en xampp de mysql

En Laragon: Un error similar.

Error de Laragon en windows

Posible causa al error

Ya llevo varios años gestionando apps-servidores que llevan Apache y Mysql.

  • Una de las causas principales es cuando se computador se apaga inesperadamente o al momento de apagar, Windows o Linux no detiene correctamente el servicio de mysql, malogrando el archivo temporal de ibtmp1.
  • Otra de las causas, es cuando se hace la importación errónea de alguna base de datos grande. Digamos registros de SUNAT que componen más de 3 millones de registros.
  • Otra posible causa, es cuando el aplicativo en el que estas trabajando registra índices mal, o hace registros en bucle, la DB empieza a corromperse y en vez de ir de forma secuencial ID=1, 2, 3. Empieza luego de un bucle sin salida a crear índices de millones y el tipo de dato por lo general es de tipo INT, empieza a desbordar y no soporta.

Solución

Para solucionar este caso, a mi me ha funcionado 2 métodos.

Método 1: Por consola

El método es sencillo.

  1. Dirigirte a la carpeta donde tengas instalado tu servidor y abrir una terminal en esa ruta. Estos son unos ejemplos para que se guíe:
    • Windows XAMPP: C:\xampp\mysql\bin\
    • Windows LARAGON: C:\laragon\bin\mysql\mariadb-10.8.3-winx64\bin
    • Linux: No es necesario abrir la ruta exacta
  2. Correr el comando que hará rollback, retroceso de lo que haya dañado

CODIGO: mysqld -u mysqld_safe --tc-heuristic-recover=commit

Ejemplo en Windows:

Solucion consola mysql mariadb
Solucion consola mysql mariadb

En Linux, corres el mismo comando con: sudo mysqld …

3. Comprueba que tu servicio este activo nuevamente.

Estos pasos no causan pérdida de datos. En caso ya este activo fin. Lee las últimas recomendaciones líneas abajo.

Método 2: Restableciendo archivos (caso XAMPP)

  1. Para ello debes dirigirte directamente a la carpeta de tu servidor
    • Windows XAMPP: C:\xampp\mysql\data\
  2. Importante: Acá te recomiendo que copies toda tu carpeta y lo renombres data.old, porque los pasos que vienen es muy probable que tengan pérdida de datos.
  3. Aquí encontrarás la carpeta de backup

3. Ingresas y copias todos los archivos. Excepto ibdata1

backup xampp archivos

4. Te ubicas en la siguiente ruta C:\xampp\mysql\data. Pegas y reemplazas todos los archivos. Por lo general esos @ son los archivos dañados.

backup xampp archivos

5. Inicias nuevamente tu servicio de mysql.

OJO: Al hacer esto pierdes data. La contraseña del root volverá a resetearse a «vacío».

Importante: Si tienes store prodecures guardados. Es importante que tengas una copia de seguridad guardada, porque con este proceso los perderás.

¿Cómo evitar esto?

  1. La forma más sencilla es evitar apagar a lo bruto tu servidor. Siempre intenta ingresar a tu panel de XAMPP o LARAGON y ponerle detener todos los servicios. Una vez este todo en stop. Puedes proceder a apagar tu PC.
  2. Utilizar UPS, Unidades de Poder. Que te dan la oportunidad en caso haya pérdida de corriente eléctrica. Te da unos minutos para que apagues correctamente tus servicios.
Compartir

Sobre el autor:

Picture of Infocat

Infocat

Mi nombre es Carlos A. Pariona Valencia, soy programador, mi equipo y yo contamos con 12 años de experiencia en el campo de Desarrollo de Software y recientemente en Apps.

¿Tú que opinas?

Más contenido que tenemos: