sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

cómo restaurar mis tablas MYI, MYD desde .FRM

El .frm los archivos solo contienen metadatos sobre la estructura de la tabla. No contienen sus datos.

Para una tabla MyISAM, el .MYD el archivo es básicamente la tabla (sin metadatos ni índices); si se ha ido, sus datos se han ido. Probablemente haya una manera de generar archivos "vacíos" y comenzar de nuevo, pero sí. Sin ellos, no tienes datos.

El .MYI los archivos contienen índices, AFAIK. Esos se pueden regenerar, pero no sin los datos.

Sin embargo, si sus tablas fueran tablas de InnoDB, podría tener suerte. No habrá un .MYD o .MYI para tablas InnoDB; los datos que habrían estado en ellos estarán en cambio en ibdata1 . Es posible que pueda (después de detener mysqld) simplemente colar el .frm y ib* coloque los archivos en las posiciones correctas y deje que mysqld los vea cuando se reinicie.

Por supuesto, esto no funcionará si ya tiene Archivos de datos de InnoDB, o más bien, si lo hace, terminará perdiendo las tablas de InnoDB existentes. Sin embargo, en ese caso, podría colocar los archivos en otro directorio e iniciar una instancia de mysqld apuntando a ese directorio. Eso sería suficiente para que mysqldump una tabla como SQL, para que pueda importarla a la nueva base de datos.