如何恢复从我的MySQL数据库的一个.myd,.myi,.frm文件?
如果这些是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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。