首先,必须要明确一点,mysql的数据恢复和使用的mysql的引擎有很大的关系。
一般常用的为myisam和innodb。
可以参考这篇文章 http://www.mysqlperformanceblog.com/2008/12/17/recovering-create-table-statement-from-frm-file/
从中我们可以知道,如果使用innodb引擎的话,数据结构是存在frm文件里的没错,而数据是一起存放在ibdata1这个文件中的,当然如果你把路径改了,就是你自己设定的路径了。
myisam的话,可以参考这段
每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。
.frm文件存储表定义。
数据文件的扩展名为.MYD (MYData)。
索引文件的扩展名是.MYI (MYIndex)。
所以进行数据恢复的话,myisam只要把那个data下的文件夹给弄下来放在另一个mysql里就万事大吉了,innodb的话要把ibdata1一并拿下来,同时会覆盖另一个mysql的原本的ibdata1文件,这点要注意。