MySQL利用frm和idb文件进行数据恢复
2016-07-13 18:43
330 查看
我们知道MySQL中如果用的是MYISAM数据引擎,那么数据很好恢复,只要将相应.frm, .MYD, .MYI文件拷贝过去即可。但是如果是innodb的话,如果开启innodb_file_per_table=1,则每一个数据表都是一个单独的文件,比如User表,则会建立User.frm和User.ibd.
那么直接拷贝这两个文件到新的MySQL数据目录下可以吗,一般来说是不行的,那么什么时候可以呢?只有在你的ibd文件的tablespace id和ibdata1文件中的元信息的tablespace id一致才可以。
那么怎么办呢?根据之前讲的,innodb恢复不了就是因为table space id不匹配导致的。所以我们可以这样做 (以zhc_db数据库为例):
1 首先将当前mysql数据目录下的ibdata1文件和zhc_db下边的frm和ibd文件备份。
2 将之前要恢复的ibdata1和frm和ibd文件拷贝到当前的mysql数据目录下,进行覆盖。注意因为当前数据库可能还有其它数据库和表,所以这一步可能导致其它数据库出现问题。不过没关系,因为我们已经备份了。
3 保险起见,重启一下mysql吧,service mysql restart
4 直接登录到zhc_db数据库,mysql -u root -p zhc_db; 这时候你就可以show tables和select了,激动了吧,看到你的数据了吧。
5 将此数据库用mysqldump导出,mysqldump
-u root -p[password] zhc_db > dump_zhc_db.sql
好了,你已经有了以前的数据和表定义。
6 最后一步,别忘了,将ibdata1文件和zhc_db下边的文件用之前的备份进行恢复。
7 重启mysql,然后你就可以将你的数据进行导入了。注意目录的权限一定是MySQL可读写的。
Okay,大功告成。
你可以参考:
http://dba.stackexchange.com/questions/16875/mysql-how-to-restore-table-stored-in-a-frm-and-a-ibd-file
原文:http://blog.csdn.net/hongchangfirst/article/details/51323965
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
那么直接拷贝这两个文件到新的MySQL数据目录下可以吗,一般来说是不行的,那么什么时候可以呢?只有在你的ibd文件的tablespace id和ibdata1文件中的元信息的tablespace id一致才可以。
那么怎么办呢?根据之前讲的,innodb恢复不了就是因为table space id不匹配导致的。所以我们可以这样做 (以zhc_db数据库为例):
1 首先将当前mysql数据目录下的ibdata1文件和zhc_db下边的frm和ibd文件备份。
2 将之前要恢复的ibdata1和frm和ibd文件拷贝到当前的mysql数据目录下,进行覆盖。注意因为当前数据库可能还有其它数据库和表,所以这一步可能导致其它数据库出现问题。不过没关系,因为我们已经备份了。
3 保险起见,重启一下mysql吧,service mysql restart
4 直接登录到zhc_db数据库,mysql -u root -p zhc_db; 这时候你就可以show tables和select了,激动了吧,看到你的数据了吧。
5 将此数据库用mysqldump导出,mysqldump
-u root -p[password] zhc_db > dump_zhc_db.sql
好了,你已经有了以前的数据和表定义。
6 最后一步,别忘了,将ibdata1文件和zhc_db下边的文件用之前的备份进行恢复。
7 重启mysql,然后你就可以将你的数据进行导入了。注意目录的权限一定是MySQL可读写的。
Okay,大功告成。
你可以参考:
http://dba.stackexchange.com/questions/16875/mysql-how-to-restore-table-stored-in-a-frm-and-a-ibd-file
原文:http://blog.csdn.net/hongchangfirst/article/details/51323965
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
相关文章推荐
- 如何对MySQL数据库中的数据进行实时同步
- MySQL 5.6.26 通过frm & ibd 恢复数据过程
- Entity Framework6 访问MySQL
- 转载《mysql 一》:mysql的select查询语句内在逻辑执行顺序
- Windows 7安装解压版MySQL 5.6(不包含配置文件优化)
- 详解mysql int类型的长度值问题
- WAMP环境安装完成后修改数据库密码和登陆不上mysqladmin的解决方法
- hive相关元数据迁移(mysql)
- mysql5.5.23 CURRENT_TIMESTAMP问题
- mysql 修改 添加 删除 表字段
- pt-online-schema-change注意事项 --no-check-alter
- mysql 模糊查询(包含/存在)方法
- mysql时区问题
- MySQL 知识点
- mysql配置
- mysql将表字段信息拼接转换成实体类中的属性书写格式
- mysql function
- mysql查询条件的执行顺序
- mysql怎么终止当前正在执行的sql语句
- windows安装配置mysql-5.7.13-winx64方法