mysql innodb 恢复_Mysql InnoDB的数据库的简易恢复

因为我们项目组和别的项目组共享一台测试机,昨天别的组的一个兄弟在升级mysql的时候把我们测试用的mysql给remove掉了,因此今天捣鼓了一下如何恢复和备份mysql,按惯例,记下来,以便以后查看。

使用过mysql的都知道,在mysql中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应的.frm文件,.frm文件时用来保存每个数据库表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储的引擎无关,也就是任何存储引擎的数据表都必须有.frm文件,命名方式为数据表名.frm,如user.frm,.frm文件可以用来在数据库崩溃时恢复表结构。

这次我们遇到的情况是以前的mysql被remove了,但是幸好数据文件和表文件还在,因此可以根据这些文件将以前的数据

恢复过来。

比如我在mysql上创建了一个数据库myDB,这个数据库里面有3张表,分别叫table1,table2和table3。那么在该mysql的数据文件目录(即dataDir,该目录在.cnf文件中配置)中就有这样的文件目录结构:/myDB/table1.frm,/myDB/table2.frm,myDB/table3.frm。那么我们想恢复这个myDB的数据的话,方法很简单:

第一,在mysql上创建同名的数据库myDB:create database myDB。

第二,然后停止mysql数据库,把上面提到的/myDB文件夹copy到当前mysql的数据文件目录。最后重启mysql就ok了。

注意:网上很多文章都提到只要在这个同名的数据库myDB下创建同名的table,然后把上文的table1.frm,table2.frm,table3.frm直接copy到相应的目录就好了。但是我认为这种做法也许在有的情况时能正常恢复数据的,但是在我这次遇到的情况却不能把数据恢复过来,这也是在网上有一大堆文章描述如何从.frm文件恢复数据的方法的情况下,我仍然要在在这类记录下自己是如何恢复数据的原因。

966903dea4bcb507358d5dcce8b912e5.gif

0

0

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-11-06 20:32

浏览 2877

分类:数据库

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值