我不得不从.myd和.frm文件恢复mysql数据库。而且我不知道从哪里开始,我试图将它们复制过来,同时保留文件的权限,但无法获得我需要采取的其他步骤?
我感觉它与ib_logfile0,ib_logfile1和ib_data文件有关。但不知道该怎么做。
答案 0 :(得分:2)
您不应该通过处理原始MySQL文件来进行备份。以这种方式结束损坏的数据库非常容易。考虑当您开始将文件复制到备份介质时会发生什么 - 复制将花费非零时间,在此期间数据库可能会在各个位置写入新数据,包括您已经复制的部分。现在,您正在复制修改后的文件,旧数据和新数据的混合。此修改后的副本几乎可以保证已损坏。
您应该使用mysqldump或mysqlhotcopy来保证一致的备份。
但是,如果您的数据库相对安静并且您设法获得了良好的干净备份副本,则需要还原的文件取决于您要还原的表的类型。 InnoDB将其所有数据存储在ib*
文件中,而不管数据库/表名称如何。 MyISAM使用根据数据库/表名命名的目录中的文件。
将备份副本复制到正确的位置后,您将不得不重新启动MySQL,因为它仍将访问文件的原始副本。