情景:由于电脑加了一个固态硬盘,重装系统。之前的MySQL启动不了,于是重新安装了。现在需要恢复之前的数据库文件。
1.原先的MySQL数据文件:
数据库默认的文件路径是C:\ProgramData\MySQL\MySQL Server 5.5\data
ProgramData是个隐藏文件夹,
如类型是MyISAM, 数据文件则以Table.frm、Table.MYD、Table.MYI
如类型是InnoDB, 数据文件则存储在”$innodb_data_home_dir/″中的ibdata1文件中(一般情况),结构文件存在于table_name.frm中.
此次操作对应的数据表为Innodb引擎,data文件夹中存在数据表的frm文件
我电脑加了固态硬盘,原先的文件还在之前的硬盘上
2.新数据库的数据文件:
3.数据拷贝:
Windows的服务中停止MySQL服务。
新数据库中的这些文件不用动:
把之前的数据库文件夹复制过来,各个文件夹里都是对应表的.frm文件。其中ibdata1文件替换新数据库的ibdata1文件。(ibdata1是记录数据库之前操作记录的文件)
4.重启MySQL服务
数据库已经出现,表也出现了。能打开表查看表中的数据则是还原数据成功。
5.遇到的问题
打不开表,报table xxx doesn't exist
重新安装mysql,同样方式拷贝数据库文件,即可