Autor
|
Tema: Como recuperar tablas MySQL teniendo archivos frm ? (Leído 65,830 veces)
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
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 REPAIR TABLE `tabla1`, `tabla2`, `...`
Y me dice 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
Alguna [sugerencia|idea] ?
|
|
« Última modificación: 15 Enero 2015, 16:45 pm por el-brujo »
|
En línea
|
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
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
Mensajes: 9.188
>.<
|
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
Mensajes: 2.804
|
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 no veo buenas intenciones en lo que estas realizando es todo.
|
|
|
En línea
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
oka! ahora mismo lo voy a probar ...
Ya esta, aparece la base de datos, el nombre de las tablas, pero no la estructura SHOW FULL FIELDS FROM `inspectores` ; #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
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
|
|
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
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
Mensajes: 9.188
>.<
|
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 [ no, no estaba dudando de ti ] mira: http://forums.mysql.com/read.php?71,117096,220790#msg-220790Pues voy a ver si con algun programa de recuperacion de archivos encuentro esos .MYD y otro .MYI
Gracias por la ayuda a los dos !!
|
|
|
En línea
|
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
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
Mensajes: 9.188
>.<
|
see, jahahaha, es la mala costumbre de no hacer respaldos !!! por cierto, ahora me voy al dedicado a respaldar todas las bases de datos y los sistemas !!!
gracias por la ayuda de nuevo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como se crackean las tablas de MySQL Server?
Nivel Web
|
Azielito
|
4
|
4,749
|
11 Enero 2005, 10:39 am
por Unravel
|
|
|
como inserto en 2 tablas mysql ???
Bases de Datos
|
AiM
|
1
|
3,419
|
28 Noviembre 2009, 06:21 am
por Casidiablo
|
|
|
¿como recuperar archivos borrados?
Windows
|
SuperNovato
|
7
|
7,620
|
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
|
4,028
|
7 Noviembre 2011, 00:06 am
por papita5
|
|
|
como puedo relacionar 3 tablas en mysql con inner join
Bases de Datos
|
kary2013
|
2
|
45,451
|
26 Febrero 2013, 18:29 pm
por 1mpuls0
|
|