我遇到以下问题。我有一个很大的 .myd 备份文件,需要恢复。我尝试通过 phpmyadmin 导入它,但出现语法错误。据我了解,它是一个二进制文件,如果我将它放入 db 目录,它应该可以“工作”,但即使我重新启动 MySQL 服务器,它也不会显示在数据库中。有什么提示如何导入吗?谢谢!
最佳答案
.myd
文件本身并不是备份。它是表的 MyISAM 数据的副本,但缺少存储在相应 .FRM
文件中的元数据。
您可以通过使用 CREATE TABLE
重新创建与数据文件关联的原始表来假恢复您的 .myd
文件。然后关闭 mysqld,将 .myd 文件移动到位,然后重新启动 mysqld。并不是说您需要对列名、位置和数据类型使用完全相同的 CREATE TABLE 语句才能实现此目的。如果你不记得那些是什么,那你就太没用了。
将来,使用mysqldump
或mydumper
或Percona XtraBackup等工具来备份数据库。在不了解有关 MySQL 存储引擎的更多信息的情况下,不要只使用 cp
。
关于mysql - 将 MYD 文件导入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23326745/