Saltar al contenido

restaurar la tabla desde el archivo .frm y .ibd?

La guía paso a paso o código que hallarás en este artículo es la resolución más fácil y válida que encontramos a tus dudas o problema.

Solución:

Las tablas de InnoDB no se pueden copiar de la misma manera que las tablas de MyISAM.

Simplemente copiar los archivos .frm y .ibd de una ubicación a otra es un problema. Copiar el archivo .frm y .ibd de una tabla InnoDB solo es bueno si y solo si puede garantizar que la identificación del espacio de tabla del archivo .ibd coincida exactamente con la entrada de identificación del espacio de tabla en los metadatos del archivo ibdata1.

Escribí dos publicaciones en DBA StackExchange sobre este concepto de identificación de espacio de tabla

  • ¿Compresión de tablas en InnoDB? (bajo el título ‘Restauración de bases de datos’)
  • Cómo recuperar una tabla InnoDB cuyos archivos se movieron

Aquí hay un enlace excelente sobre cómo volver a adjuntar cualquier archivo .ibd a ibdata1 en caso de ID de espacio de tabla que no coincidan: http://www.chriscalender.com/?tag=innodb-error-tablespace-id-in-file. Después de leer esto, debe darse cuenta inmediatamente de que copiar archivos .ibd es simplemente una locura.

Puede aplicar las sugerencias del enlace Chris Calendar, o puede volver a la instalación anterior de mysql, iniciar mysql y luego mysqldump el ddms base de datos. Luego, importe ese mysqldump en su nueva instancia de mysql. Confía en mí, esto sería mucho más fácil.

Recientemente experimenté este mismo problema. Estos son los pasos que utilicé para resolverlo sin tener que perder el tiempo con la identificación del espacio de tabla como menciona RolandoMySQLDBA anteriormente. Estoy en una Mac, por lo que utilicé MAMP para restaurar la base de datos a un punto en el que pudiera exportarla en un volcado de MySQL.

Puede leer la publicación completa del blog aquí: http://www.quora.com/Jordan-Ryan/Web-Dev/How-to-Recover-innoDB-MySQL-files-using-MAMP-on-a-Mac

Debes tener:

-ibdata1

-ib_logfile0

-ib_logfile1

-Archivos .FRM de su carpeta mysql_database

-Instalación nueva de MAMP / MAMP Pro que está dispuesto a destruir (si es necesario)

  1. SSH en su servidor web (dev, producción, sin diferencia) y busque su carpeta mysql (la mía estaba en /var/lib/mysql para una instalación de Plesk en Linux)
  2. Comprimir la carpeta mysql
  3. Descargue un archivo de la carpeta mysql que debe contener todas las bases de datos mySQL, ya sea MyISAM o innoDB (puede copiar este archivo o moverlo a un directorio descargable, si es necesario)
  4. Instalar MAMP (Mac, Apache, MySQL, PHP)
  5. Vaya a /Aplicaciones/MAMP/db/mysql/
  6. Copia de seguridad /Aplicaciones/MAMP/db/mysql en un archivo zip (por si acaso)
  7. Copiar en todas las carpetas y archivos incluidos en el archivo de la carpeta mysql del servidor de producción (entorno mt Plesk en mi caso) EXCEPTO NO SOBREESCRIBIR:

    -/Aplicaciones/MAMP/db/mysql/mysql/

    -/Aplicaciones/MAMP/db/mysql/mysql_upgrade_info

    -/Aplicaciones/MAMP/db/mysql/performance_schema

  8. Y listo, ahora debería poder acceder a las bases de datos desde phpMyAdmin, ¡qué alivio!

Pero no hemos terminado, ahora debe realizar un mysqldump para restaurar estos archivos en su entorno de producción, y la interfaz de phpmyadmin se agota para bases de datos grandes. Sigue los pasos aquí:

Export / Import Large Database from MAMP using Terminal

Copiado a continuación como referencia. Tenga en cuenta que en una instalación de MAMP predeterminada, la contraseña es “root”.

Cómo ejecutar mysqldump para MAMP usando Terminal

EXPORTAR BASE DE DATOS DESDE MAMP[1]

Paso uno:
Abrir una nueva ventana de terminal

Segundo paso:
Navegue a la instalación de MAMP ingresando la siguiente línea en la terminal cd /applications/MAMP/library/bin Presione enter key

Paso tres:
Escriba el comando de volcado ./mysqldump -u [USERNAME] -pags [DATA_BASENAME] > [PATH_TO_FILE]
Presiona el enter key

Ejemplo:

./mysqldump -u root -p wp_database > /Applications/MAMP/htdocs/symposium10_wp/wp_db_onezero.sql

Consejo rápido: para navegar a una carpeta rápidamente, puede arrastrar la carpeta a la ventana del terminal y escribirá la ubicación de la carpeta. Fue un gran día cuando alguien me mostró esto.

Paso cuatro:
Esta línea de texto debería aparecer después de presionar enter Ingrese la contraseña: Adivine qué, escriba su contraseña, tenga en cuenta que las letras no aparecerán, pero están allí Presione enter key

Paso cinco:
Verifique la ubicación donde almacenó su archivo, si está allí, ÉXITO Ahora puede importar la base de datos, que se detallará a continuación.

Ahora que tiene una exportación de su base de datos mysql, puede importarla en el entorno de producción.

He recuperado mis archivos MySQL 5.5 *.ibd y *.frm usando MySQL Utilites y MariaDB 10.

1) Generación de Create SQL.

Puede obtener su creación de sql desde el archivo frm. Debe utilizar: https://downloads.mysql.com/archives/utilities/

concha>mysqlfrm –servidor=raíz:[email protected]:3306 c:MIt1.frm –port=3310

De otra manera, puede tener su creación de sql.

2) Crea tus tablas

Cree sus tablas en la base de datos.

3) alterar tabla xxx descartar tablespace

Deseche sus tablas por las que desea reemplazar sus archivos *.ibd.

4) Copie sus archivos *.ibd (MySQL o MariaDB) a la ruta de datos de MariaDB

Primero trato de usar MySQL 5.5 y 5.6 para restaurar, pero la base de datos se bloquea e inmediatamente se detiene debido a un error roto en la identificación del espacio de tabla. (ERROR 1030 (HY000): se obtuvo el error -1 del motor de almacenamiento)
Después de haber usado MariaDB 10.1.8 y haber recuperado mis datos con éxito.

5) alterar table xxx import tablespace

Cuando ejecuta esta declaración, MariaDB advierte sobre el archivo, pero no es importante que recuperar sus datos 🙂 La base de datos aún continúa y puede ver sus datos.

Espero que esta información sea útil para usted.

Reseñas y puntuaciones del artículo

Si conservas alguna suspicacia y capacidad de progresar nuestro escrito te invitamos añadir un exégesis y con gusto lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *