如何从MySQL.frm恢复数据?

如何从MySQL.frm恢复数据?,mysql,Mysql,我有MySQL的.frm文件中的所有数据。如何恢复数据?我不想恢复所有记录和表,只是恢复一些记录和表,所以我需要对它们进行转储 据我所见,只有.frm文件,没有.myd文件。但是,有一个ibdata1文件。我该如何恢复?我让它工作了 1) 我创建了一个空数据库,命名为本地安装中服务器上的真实数据库 2) 我杀了“mysqld” 3) 我将三个ib*文件复制到本地MySQL数据目录(在Windows上,它是根驱动器中的一个隐藏文件夹)。确保已复制到InnoDB数据文件目录,具体取决于my.cnf

我有MySQL的.frm文件中的所有数据。如何恢复数据?我不想恢复所有记录和表,只是恢复一些记录和表,所以我需要对它们进行转储

据我所见,只有.frm文件,没有.myd文件。但是,有一个ibdata1文件。我该如何恢复?

我让它工作了

1) 我创建了一个空数据库,命名为本地安装中服务器上的真实数据库

2) 我杀了“mysqld”

3) 我将三个ib*文件复制到本地MySQL数据目录(在Windows上,它是根驱动器中的一个隐藏文件夹)。确保已复制到InnoDB数据文件目录,具体取决于my.cnf InnoDB和MyISAM数据可能存储在不同的文件夹中。我还复制了.frm文件

4) 我运行了
“C:\Program Files(x86)\MySQL\MySQL Server 5.1\bin\mysqld”--默认值file=“C:\Program Files(x86)\MySQL\MySQL Server 5.1\my.ini”--innodb force recovery=6

5) 我运行了
mysql-uroot-pmypass
来确认
使用mydb;从mytable中选择*返回的结果

6) 我使用了
mysqldump mydb mytable--compact>file.sql

就这样

非常简单的步骤

  • 在Xampp控制面板中,单击MySql的配置,然后选择“my.ini”文件

  • 在此文件中,在
    [mysqld]
    行之后添加一行
    innodb\u file\u per\u table=1

  • 现在,我创建了一个相同的数据库,您希望它恢复为
    exam\u table

  • 逐个创建要还原的表,如
    examice\u time

  • 运行SQL查询/查询
    ALTER TABLE`EXAME\U time`放弃表空间

    注意:这将删除当前的.ibd文件。

  • 将备份
    考试时间.frm
    考试时间.ibd
    文件复制到相应的数据库目录

  • 运行SQL查询/queries
    ALTER TABLE tbl\U name导入表空间


  • 检查您的
    examice\u time
    表是否已恢复…..好哇

    您是否有mySQL数据目录的完整副本?您无法从文件中从frm还原数据,因为它们只包含架构。如果您有ibdata文件或一个大ibdata文件,那么您就有一组innodb表。你!先生……救了我的命!您引导我找到了解决方案,
    ibdata*
    文件位于
    mysql/data/
    文件中,我希望它们位于每个相应的数据库文件夹中。我经常遇到以下错误::InnoDB:由于缺少MLOG\u检查点而忽略重做日志。。InnoDB:插件初始化中止插件“InnoDB”初始化函数返回错误。注册为存储引擎失败。然后根据您的指导,我运行了“mysqld--innodb force recovery=6”和APache。结果,我能够在浏览器中打开PHPMyAdmin,所有表都以只读模式打开。最好的是我能够以SQL格式导出所有数据库。它救了我的命。我安装了另一个Xampp并导入了该SQL。谢谢