今天我的一个同学在家做了一个作品,建立了mysql数据库,来学校的时候从家里的wamp文件夹里面拷贝了data下的mysql数据库文件夹,结果到学校不能使用了。百度之后发现一种“MyISAM”类型的表可以直接复制,而innodb类型的不可以。。。。
现在正在恢复。。。未完待续
后来留着 frm 文件不要动、在新的mysql里建一个数据库,然后分别手工建立你要的那些表,结构随便弄.这样在 Mysql\data文件夹就有了一堆和你手头保存的frm对应文件.把你保留的文件覆盖这些新的frm ,特别是那个
db.opt的那个不要覆盖就行。重启 mySQL 服务 这样你保留的数据库结构就出来了,不过数据没了。
附注:建立数据库尽量将表的类型设置成MyISAM,这样都不会出这样的错误了。唉,数据无价啊。希望大家能小心处理。如果你有特别好的建议或者解决办法可以给我留言。望不吝赐教
备注:MYISAM—具有很多优化和增加的特性,是MYSQL默认的表类型
ISAM—-类似MYISAM,但是功能较少
HEAP—–保存在内存中,存取速度快,但是存储量小,一旦失败就无法恢复
BDB—支持事务和页锁定
INNODB—支持事务、外键和行锁定,它是mysql最完善的格式
MERGE—可以把myisam格式的建立一个虚拟表