详细介绍如何恢复mysql数据库
因为打算重新安装MySQL数据库上的测试机,因为简单粗暴直接卸载,没有备份的Discuz和Redmine使用MySQL数据库。这个过程可以被认为是悲惨的。最好是卸载MySQL程序,所有的数据文件仍然存在。
下面是恢复数据库的过程
1。Discuz数据库
discuz数据库的恢复是非常成功的。安装了MySQL的新版本后,原始的数据库文件副本直接添加到新的数据目录中。重新启动MySQL后,我们可以看到恢复的数据库。
2。默认数据库
我们打算直接使用上面的经验,您可以看到所有的表,但是查询执行时总是错误的表。
后来,一些信息被检查发现,Discuz之所以和Redmine使用mysql的发动机是不一样的。
Discuz使用MyISAM和InnoDB,默认使用。
解决办法是,
除了复制数据目录,你应该还记得改写ibdata1文件。
表表的例子:如果类型是MyISAM,数据文件中的table.frmtable.mydtable.myi三文件存储在 / / /数据库数据元目录。如果类型是InnoDB,ibdata1数据文件存储在文件innodb_data_home_dir美元/ (一般),该文件的结构中存在的table_name.frm。MySQL可用于复制数据库文件直接不过,它指的是表MyISAM类型。使用MySQL前创建表,默认是InnoDB类型。一台这类只有一个*。文件在磁盘上,不像MyISAM,其中也有*,MVD,*。MYI文件。MyISAM类型表可以直接应用到另一个数据库,但是InnoDB类型的表不。解决的办法是:
同时,复制InnoDB数据库表*。FRM文件和InnoDB数据ibdata1文件到适当的位置。Windows服务启动MySQL,因为MySQL数据混合的形式,为用户忘记备份InnoDB备份时很容易导致上述错误。
这意味着在数据库引擎类型是InnoDB,复制数据文件,同时还需要复制ibdata1,所以ibdata1用来盖一个副本,或发现一个小问题,所以MySQL服务停止,这ib_logfile *文件的目录被删除,重启mysql服务,好这样做,可以
快乐,所以总结一下,希望以后遇到同样的问题,能很快解决。
1,备份或迁移MySQL数据库时,所需的数据尽可能多地完成。
2、如果你直接复制原始数据库文件,如*。FRM
3,当备份数据库时,最好使用相关的工具来备份或导出SQL文件,这样就不会浪费时间在数据库恢复上。
4、对msyql的版本,或备份工具的版本,也可能造成数据恢复问题。
实践证明,存在以上问题,解决方案是可行的,哈哈,为了方便以后,写这篇博客看丹尼尔的文章,不要鄙视,请拍砖。
1式:MyISAM数据文件可以在不同操作系统的拷贝,这是非常重要的,方便部署时。(只复制文件的数据库名称的文件夹下,这样数据库完成)。
2:InnoDB类型应注意多拷贝ibdata1,最好不要直接复制文件夹,但要进出口与SQL