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