elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Como recuperar tablas MySQL teniendo archivos frm ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como recuperar tablas MySQL teniendo archivos frm ?  (Leído 64,817 veces)
Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Como recuperar tablas MySQL teniendo archivos frm ?
« en: 3 Noviembre 2009, 21:20 pm »

Pues en la carpeta "data" de mysql tengo la carpeta de la base de datos, dentro tengo los archivos FRM y un archivo opt, el problema es que cuando entro com PHPMyAdmin me dice que no existen tablas en la base de datos [ésta si la muestra]

Intente hacer
Código
  1. REPAIR TABLE `tabla1`, `tabla2`, `...`

Y me dice
Cita de: mysql
db.tabla1    repair    error    Table 'db.tabla1' doesn't exist
db.tabla2    repair    error    Table 'db.tabla2' doesn't exist
db. ...    repair    error    Table 'db. ...  ' doesn't exist


Buscando en internet encuentro que hay una herramienta para reparar [http://kopernix.com/?q=myisamchk]... pero con archivos MYI :xD





Alguna [sugerencia|idea] ?

:D


« Última modificación: 15 Enero 2015, 16:45 pm por el-brujo » En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #1 en: 4 Noviembre 2009, 03:11 am »

Hola.

1 - REPAIR TABLE
2 - Myisamchk
3 -Mysqlcheck

Solo funcionan sobre tablas almacenadas en motores Myisam. Si solo tienes los archivitos *.frm me temo que no hay forma de restaurar ninguna data de ninguna tabla. Los archivos *.frm guardan las definiciones (nombres de tablas y campos) de una tabla sin embargo, la data que compone (o sea los registros, indices, etc) de esas tablas estan repartidas en los archivos logicos de cada motor de almacenamiento, sino tienes estos archivos No puedes restaurar datos de ninguna tablas:

Para Myisam: necesitas ademas los archivos MYI y MYD (el primero de indices y el segundo data)

Para InnoDB: necesitas ademas los archivos ibdata y los ib logs.

La unica forma de recuperar datos (registros) de archivos *.frm es si estamos hablando de Vistas y no de Tablas, pero me temo que haz mencionado Tablas y no Vistas.



« Última modificación: 4 Noviembre 2009, 03:26 am por ^TiFa^ » En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #2 en: 4 Noviembre 2009, 16:51 pm »

Pero la estructura si la puedo recuperar? los datos deberian estar en algun otro lado "fisico", el sistema que maneja esas tablas tambien lo tengo, pero queria ahorrar un poco de tiempo al recordar/ver fuente/hacer las tablas nuevamente :')
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #3 en: 4 Noviembre 2009, 17:34 pm »

Ok

No se como llegaste a la condicion de perder los indices y la data  :¬¬   :¬¬  no quiero imaginarme que estes jugando a eliminar a proposito archivos de MySQL con una mala intencion  :¬¬   :¬¬   :¬¬ 

Si tanto te preocupan tus tablas perdidas, sencillamente vete a la carpeta data de MySQL, y elimina la carpeta con todos sus archivos referente a la base de datos de la cual estas teniendo el problema. (SI Borra la carpeta con todo).

Hecho esto, cuando ingreses al motor y hagas un show databases no veras dicha base de datos, bien sal del motor, y en la misma carpeta Data de MySQL crea una carpeta nueva (Con el mismo nombre de la DB eliminada) entra a dicha carpeta y crea manualmente (aunque sean archivos vacios) y bajo el mismito nombre, todos los archivos extension *.frm que tenias mas un extra *.opt 

A esa carpeta especificale que su owner y grupo es el usuario mysql, y nada cuando entres al motor, veras tu base de datos ahi y dentro las tablas.... y posiblemente la data

PD: Si estas esperando que te diga en que archivo fisico el motor guarda esto, no lo hare  :P  no veo buenas intenciones en lo que estas realizando es todo.
En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #4 en: 4 Noviembre 2009, 19:48 pm »

oka! ahora mismo lo voy a probar ...



Ya esta, aparece la base de datos, el nombre de las tablas, pero no la estructura :xD

Código
  1. SHOW FULL FIELDS FROM `inspectores` ;
  2. #1033 - Incorrect information IN file: '.\db\tabla1.frm'

Voy a probar a poner el contenido de los archivos antigüos en los nuevos, o los archivos asi como estan :xD




Copiando los archivos no funciono, de nuevo me dice que no hay tablas... ahora voy a ver si vaciando el contenido





No, fue el mismo resultado [algo asi me temia =\ ]














no tengo malas intensiones jehehehe, es un sistema que estaba haciendo y de un dia al otro no reconocio la base de datos... quien me conoce sabe que no me gusta eso de destruir cosillas y menos entrar a lugares sin permiso :') pero ese es otro tema ...
En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.580


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #5 en: 4 Noviembre 2009, 19:59 pm »

Los archivos .frm son sólo las definiciones de tabla, y tienes uno por cada tabla (tenga el motor que tenga). Para restaurar físicamente la base de datos, necesitas:

- Tablas MyISAM: Un archivo .MYD y otro .MYI para cada tabla

fuente:
http://forums.mysql.com/read.php?71,117096,117096#msg-117096
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #6 en: 4 Noviembre 2009, 20:29 pm »

Perdona, se me olvido aclararte mi sugerencia para recuperar tablas y sus registros con archivos *.frm solo aplica siempre y cuando no se haya reiniciado o hecho flush a la metadata del motor MySQL  ;)  si por X o Y razon, reiniciaron el servidor o el motor de la DB despues que te ocurrio ese problemon que llevas... me temo que se perdio toda la data de la cache en memoria por ende, no podras recuperar nisiquiera la estructura de las tablas que se guardan en los *.frm   :-(   :-(  

Lo que te pego el-brujo y lo que te especifique mas arriba involucra el mismo tema (No hay forma de recuperar nisiquiera la estructura de una tabla en base solo a archivos *.frm),  la sugerencia que te di aplica porque llama toda la info de la cache de memoria, pero si reiniciaste el motor de base de datos o el servidor Linux... me temo que no hay nada que puedas hacer. Ya te lo expuse mas arriba y mira que han vuelto a postearte la notificacion.
« Última modificación: 4 Noviembre 2009, 20:31 pm por ^TiFa^ » En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #7 en: 4 Noviembre 2009, 21:07 pm »

ups =S si, el server se reinicio, es un server de donde desarrollo antes de subirlos a un server "dedicado" =\

Seguire buscando, pero creo que seria mejor ir a ver el codigo del sistema para ver los querys que hay para hacer la base de datos de nuevo =S



@el-brujo, tifa tiene razon [ :xD no, no estaba dudando de ti :xD ] mira:
http://forums.mysql.com/read.php?71,117096,220790#msg-220790

Pues voy a ver si con algun programa de recuperacion de archivos encuentro esos .MYD y otro .MYI :¬¬

:¬¬




Gracias por la ayuda a los dos !! :D
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #8 en: 4 Noviembre 2009, 21:13 pm »

Lo siento mucho la verdad  :-(   :-( 

Te habia dicho que no se podia (porque realmente no se puede con lo que dispones) pero luego pense que si tu servidor era un hosting compartido o asi, posiblemente no habias o no se habia reiniciado el motor, por lo que si, existia la posibilidad de recuperar todo con los archivitos *.frm nada mas.... (Ya que la info el motor lo hubiese llamado desde la memoria cache  ;) ) Pero si tu mismo me confirmas que reiniciaste el motor, lo siento ya si que no hay en absoluto nada que puedas hacer  :-(   :-(   :-(  me hubiese gustado ayudarte, pero no te dire mentira no es posible solo con los archivitos *.frm y un motor reiniciado   :-(  Si al menos hubieras tenido un backup logico de esas tablas algo hubieras podido recuperar.
En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: Como recuerar tablas MySQL teniendo archivos frm ?
« Respuesta #9 en: 4 Noviembre 2009, 21:24 pm »

see, jahahaha, es la mala costumbre de no hacer respaldos :xD!!! por cierto, ahora me voy al dedicado a respaldar todas las bases de datos y los sistemas :xD!!!




gracias por la ayuda de nuevo :D
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como se crackean las tablas de MySQL Server?
Nivel Web
Azielito 4 4,541 Último mensaje 11 Enero 2005, 10:39 am
por Unravel
como inserto en 2 tablas mysql ???
Bases de Datos
AiM 1 3,278 Último mensaje 28 Noviembre 2009, 06:21 am
por Casidiablo
¿como recuperar archivos borrados?
Windows
SuperNovato 7 7,158 Último mensaje 6 Enero 2011, 07:52 am
por Graphixx
[SOLUCIONADO] Cómo puedo obtener el diseño de las tablas por query en mysql?
Bases de Datos
papita5 2 3,812 Último mensaje 7 Noviembre 2011, 00:06 am
por papita5
como puedo relacionar 3 tablas en mysql con inner join
Bases de Datos
kary2013 2 45,094 Último mensaje 26 Febrero 2013, 18:29 pm
por 1mpuls0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines