mysql Innodb下data文件恢复方法
2017-09-11 16:34
246 查看
mysql只有data文件夹和表结构的恢复方法
mysql数据库引擎为MyIASM据查直接拷贝到新的数据库就可以用了(未验证),数据库引擎为Innodb时的操作如下:
1、 搭建与原数据库相同的的数据库环境(mysql版本一致);
2、 将data文件夹下的文件复制到搭建的新数据库data文件夹下;
3、 删除数据库下的.ibd(数据文件)和.frm(结构文件,要的就是这个), db.opt不要删除;
4、 执行建表sql,新建一样的表结构;
5、 执行导出表空间sql:ALTER TABLE table_name DISCARDTABLESPACE; 把所有表空间导出,table_name换成需要导出的表,执行后数据库会删除table_name.ibd文件,从原数据库中拷贝table_name.ibd过来;
6、 执行导入表空间sql: ALTER TABLE table_name IMPORT TABLESPACE; 把表空间导入(即从我们原数据库中的table_name.ibd文件中导入),table_name换成需要导入的表;
7、 打开表检查是否已经导入成功,如乱码,重启mysql客户端工具。
注:数据库须正常停机,文件未损坏
mysql数据库引擎为MyIASM据查直接拷贝到新的数据库就可以用了(未验证),数据库引擎为Innodb时的操作如下:
1、 搭建与原数据库相同的的数据库环境(mysql版本一致);
2、 将data文件夹下的文件复制到搭建的新数据库data文件夹下;
3、 删除数据库下的.ibd(数据文件)和.frm(结构文件,要的就是这个), db.opt不要删除;
4、 执行建表sql,新建一样的表结构;
5、 执行导出表空间sql:ALTER TABLE table_name DISCARDTABLESPACE; 把所有表空间导出,table_name换成需要导出的表,执行后数据库会删除table_name.ibd文件,从原数据库中拷贝table_name.ibd过来;
6、 执行导入表空间sql: ALTER TABLE table_name IMPORT TABLESPACE; 把表空间导入(即从我们原数据库中的table_name.ibd文件中导入),table_name换成需要导入的表;
7、 打开表检查是否已经导入成功,如乱码,重启mysql客户端工具。
注:数据库须正常停机,文件未损坏
相关文章推荐
- mysql恢复sql文件的方法
- Mysql数据库备份,恢复Mysql的备份恢复命令执行方法 备份: shell> mysqldump release_ccxecredit> /data/release_ccxecredit_2
- 使用innodb_data_file_path修改数据文件位置,发生The server quit without updating PID file错误的解决原因及方法。
- mysql innodb ibdata 数据文件误删除恢复过程
- mysql通过data文件恢复数据库的方式
- MySQL 通过idb文件恢复Innodb 数据【转】
- MySQL异常恢复之无主键情况下innodb数据恢复的方法
- mysql 从data文件恢复数据库
- MySQL表结构为InnoDB类型从ibd文件恢复数据
- MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据
- MySQL frm+ibd文件还原data的办法【数据恢复】
- MySQL从数据库文件恢复数据的方法
- MySQL异常恢复之无主键情况下innodb数据恢复的方法
- 如何增mysql innodb_data 文件的空间
- Mysql从data文件中恢复文件
- MySql直接备份数据库文件的方法(MyISAM和InnoDB有所不同)
- 人工误删除了MYSQL的InnoDB ibdata数据文件,如何快速恢复
- 恢复windows里面的mysqldata文件到linux上面
- MySQL表结构为InnoDB类型从ibd文件恢复数据
- 从mysql的data文件夹(*.frm,*.ibd,ibdata1)下恢复原来数据库的表及其数据(无语但是百发百中的方法)