Extraje el directorio de datos de mysql de una copia de seguridad y necesito obtener el esquema de una tabla antigua, sin embargo, es una copia de seguridad de una máquina diferente.
Hoy he leído un buen número de tutoriales sobre cómo hacer esto, pero cada vez que parece fallar o tengo que reinstalar mysql porque mysql se cuelga o falla. He probado lo siguiente:
- Crea una base de datos diferente
- Crear tabla con el mismo nombre en esa base de datos
- Reemplazar el archivo
- Parar / Arrancar el motor
- Recuperarse del
.frm
archivo
Lo he intentado en varias órdenes y combinaciones.
¿Existe alguna herramienta externa que pueda extraer el esquema del .frm
archivo? Puedo ver los nombres de las columnas si abro el archivo. Eché un vistazo, pero parece que no puedo encontrar nada que me permita hacer esto.
Gracias por adelantado.
Respuestas:
En TwinDB creamos una interfaz web para
mysqlfrm
. Es gratis y fácil de usar.Para recuperar la estructura de la tabla, solo necesita cargar el archivo .frm.
Aquí hay pasos. 1. Abra https://recovery.twindb.com/ . Haga clic en "Recuperar estructura"
En el siguiente submenú, haga clic en "desde el archivo .frm"
En la siguiente vista, haga clic en "Examinar" y seleccione un archivo .frm en un disco local. Haga clic en "Subir"
Espera hasta que haga la magia
Consigue la estructura recuperada.
También es posible cargar un archivo con un montón de archivos .frm. El sitio los recuperará por completo.
fuente
mysqlfrm
(descargué la versión 1.6.5) y ejecutar estomysqlfrm --diagnostic /path/to/my_table.frm
He respondido preguntas como esta antes
Dec 21, 2011
: ¿ Compresión de tabla en InnoDB?Feb 03, 2012
: Cómo recuperar la estructura de la tabla MySQL de los archivos FRMApr 23, 2012
: restaurar tabla de .frm y archivo .ibd?Me he referido a un blog de Chris Calendar sobre la conexión de
.ibd
archivos al diccionario de datos.Si no tiene el
.ibd
junto con.frm
, es probable que MySQL se esté ejecutando con innodb_file_per_table apagado. Por favor, consulte laFeb 03, 2012
publicación sobre eso. Si esto es Linux, asegúrese de ejecutarantes de comenzar mysql.
Darle una oportunidad !!!
INFORMACIÓN COMPLEMENTARIA
Al final de ese último blog dice:
ACTUALIZACIÓN 2013-06-11 14:05 EDT
Tengo buenas noticias. Instalé la versión de Windows de las utilidades MySQL. Probé el programa mysqlfrm desde la línea de comandos.
.frm
Probé obtener la información de user.frm en el esquema mysql. Esto es lo que obtuve:Realmente funciona. La base de datos se ejecuta en mi computadora de escritorio usando el puerto 3306. Tuve que dar 3307 como puerto para ejecutar un proceso generado.
Podría mover la
.frm
caja de Linux a la máquina de Windows y hacer lo mismo.Darle una oportunidad !!!
fuente