- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试在 PMA 中恢复数据库,但只能访问 frm 和 ibd 文件 - 而不是我了解您需要的 ib_log 文件。
我知道我可能无法恢复数据库数据,但是否可以从 frm 文件中恢复表的结构?
最佳答案
我只从 .frm
和 .idb
文件恢复了表格。
如果您已经知道表的架构,则可以跳过此步骤。
首先,安装MySQL Utilities .然后你可以在命令提示符(cmd)中使用mysqlfrm
命令。
其次,使用 mysqlfrm
命令从 .frm
文件获取 SQL 查询:
mysqlfrm --diagnostic <path>/example_table.frm
然后您可以获得创建相同结构化表的 SQL 查询。像这样:
CREATE TABLE `example_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(150) NOT NULL,
`photo_url` varchar(150) NOT NULL,
`password` varchar(600) NOT NULL,
`active` smallint(6) NOT NULL,
`plan` int(11) NOT NULL,
PRIMARY KEY `PRIMARY` (`id`)
) ENGINE=InnoDB;
使用上述 SQL 查询创建表。
如果旧数据仍然存在,您可能必须先删除相应的数据库和表。确保您有数据文件的备份。
运行此查询以删除新表数据:
ALTER TABLE example_table DISCARD TABLESPACE;
这将删除新的 .frm
文件和(新的,空的).idb
文件之间的连接。另外,删除文件夹中的 .idb
文件。
然后,将旧的.idb
文件放入新的文件夹中,例如:
cp backup/example_table.ibd <path>/example_table.idb
确保 .ibd
文件可以被 mysql
用户读取,例如通过在文件夹中运行 chown -R mysql:mysql *.ibd
。
运行此查询以导入旧数据:
ALTER TABLE example_table IMPORT TABLESPACE;
这将从 .idb
文件导入数据并将恢复数据。
关于mysql - 从 frm 和 ibd 文件恢复表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26868956/
好吧,我知道关于这个问题有很多问题,但是,由于我找不到解决我的问题的答案(我尝试了很多很多解决方法!!),这让我浪费了我4个小时的工作,现在我找到了我的问题所在,我想分享并保留在这里,也供我自己将来引
总体而言,对 mySQL 和数据库非常陌生。我不明白在 mySQL Workbench 中创建架构后需要将哪些文件传输到我的网站。我读到表存储为 frm 文件,但在创建第一个架构和其中的表后,我无法在
我在按钮的 WHEN-BUTTON-PRESSED 触发器上有以下代码 BEGIN SYNCHRONIZE; populate_maximo_records; END; 会有这样一种情况,即没有任
我们(我们公司)一直注意到,在从不同用户/机器向我们的存储库 checkin 代码之间,VB6 表单文件中的 Format 属性不断变化,即使我们没有在 PC 上更改任何内容。 之前:格式 = 821
我正在尝试通过备份的 frm 文件和 ibdata1 恢复我的数据库;我只是将 mysql/data 中的所有文件(包括不同的数据库作为文件夹,其中每个表都有 .frm 文件和“mysql/data”
在某些时候,我的 MAMP 安装损坏了,我决定改用 XAMPP。但是我现在无法访问我的数据库。其他人说我只需要将数据库文件复制到 XAMPP 但这只是部分工作。 我可以看到数据库,但是所有表都有“正在
我有一个带有测试数据的 MySQL 数据库。我一直在修改这个数据库中的例程和触发器。我有一个新的 .tar 文件,其中包含与生产数据相同的数据库的 *.frm、*.myd、*.myi、*.trn 和
我不小心删除了测试表的 .frm 文件。问题是我无法删除此表并将其从 information_schema 中删除。 select * from information_schema.tables w
我有来自 Windows 的 .frm 文件,现在我使用 Ubuntu。如何仅从 .frm 文件创建与 Windows 中相同的表?我读到我可以只复制粘贴这些文件,但在 Ubuntu 中,没有 MyS
我希望我的切入点标记对除 java sdk 中的方法之外的任何方法的调用 Pointcut trace(): call(* *(..)) && !within(methodprofilt) && !c
from clause query i put a query to get data from two tables 检查代码 select empno,ename,job,mgr,hiredate
我正在四处移动文件,由于某种原因,所有 frm 文件现在都是空的,我该如何重新创建它们?大多数表是 myisam,但少数是 innodb。 最佳答案 MyISAM 表不见了,InnoDB - 你可以
我在专用服务器上有一个网站,我的一个 friend 是管理员。我的问题是如何访问我的数据库所在的 var 文件夹,以便直接访问 Cpanel 中每个表的 .frm、.MYD 和 .MYI 文件。 最佳
我在 MySQL 的 .frm 文件中有所有数据。我怎样才能恢复数据?我不想恢复所有这些,只是一些记录和表格,所以我需要从中转储。 据我所知,只有 .frm 文件,没有 .myd 文件。但是,有 ib
我在打开当前窗口的窗口中有以下脚本: function sb(frm){….} 如何调用父窗口的函数 sb(frm) 并从子窗口传递父窗口的表单?我想做这样的事情 if(sb(parent.form)
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 9 年前。 Improve
昨天我花了很多时间寻找从 .ibd 和 .frm 文件恢复各种数据库的解决方案.. 最后,我找到了这个解决方案(?): https://github.com/twindb/undrop-for-inn
我可以将.frm、.MYD、.MYI文件复制到另一台计算机吗?我想将表格复制到另一台计算机。我正在使用 MYSQL 数据库和 PHPMyAdmin。我想通过将表文件复制到另一台计算机来恢复表。 1.
我必须从 .myd 和 .frm 文件恢复 mysql 数据库。我不知道从哪里开始,我尝试在保留文件权限的同时复制它们,但无济于事,我还需要采取哪些其他步骤? 我感觉它与 ib_logfile0、ib
我正在使用我的 Mac,当它崩溃时,硬盘已损坏并且无法修复,除非格式化,所以我从 OS X 恢复了我的数据库数据,我得到了所有文件夹,现在我尝试在 Windows 中恢复它当我修理 Mac 时,我的电
我是一名优秀的程序员,十分优秀!