开发者社区> 问答> 正文

如何从.myd,.myi,.frm文件恢复MySQL数据库

如何恢复从我的MySQL数据库的一个.myd,.myi,.frm文件?

展开
收起
保持可爱mmm 2020-05-11 11:02:40 546 0
1 条回答
写回答
取消 提交回答
  • 如果这些是MyISAM表,则将.FRM,.MYD和.MYI文件放入数据库目录(例如/var/lib/mysql/dbname)将使该表可用。它不必是来自相同的数据库,相同的服务器,相同的MySQL版本或相同的体系结构。您可能还需要更改文件夹的所有权(例如chown -R mysql:mysql /var/lib/mysql/dbname)

    请注意,权限(GRANT等)是mysql数据库的一部分。因此它们将不会与表一起恢复;您可能需要运行适当的GRANT语句来创建用户,授予访问权限等。(可以恢复mysql数据库,但是在使用MySQL版本和该mysql_upgrade实用程序的任何必需运行时都需要小心。)

    实际上,您可能只需要.FRM(表结构)和.MYD(表数据),但是您必须修复表以重建.MYI(索引)。

    唯一的限制是,如果要降级,最好检查发行说明(并可能运行修复表)。当然,较新的MySQL版本增加了功能。

    [虽然很明显,但是如果您混合并匹配表,则这些表之间关系的完整性是您的问题;MySQL不会在乎,但您的应用程序和用户可能会。而且,此方法对于InnoDB表根本不起作用。只有MyISAM,但考虑到您拥有的文件,您就有MyISAM]来源:stack overflow

    2020-05-11 11:03:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像