今天搞了一天,终于搞定了。
对于Mysql有两种模式,MYISAM与INNODB
如果是MYISAM的话,在data目录下里会.frm .myd .myi 三种文件,那么直接把DATA移过去,配置好权限就可以还原了。
如果是INNODB的话,那是相当的烦啊。在data目录下只有.frm(这只是一个数据格式),这个移过去后,是无法还原原始数据的。
真正的数据是正放在data目录下的iddata1里。因此,如果有这个文件,那么还是有希望还原的。
但我试了网上所有的文章,都还是提示“数据库里没有表”。
最后我找到了答案。那就是my.ini的配置文件。里面有一项:
innodb_data_home_dir="C:\Program Files\MySQL\MySQL Server 5.1\data"
只要把上面的地址设为你正确的地址就可以了。
记得重启一下mysql (在CMD里输入net stop mysql,然后net start mysql)就可以了还原了。。。
我花了一天时间发现的问题,希望能对同样遇到问题的朋友有所帮助。
总结,对于Mysql还是默认采用MYISAM的比较好,容易转移。数据库与数据库是分开的,不会混在一起。所以可以在My.ini里设一下默认项:
default-storage-engine=MYISAM
good luck!!