相关疑难解决方法(0)

从 ibd 文件中没有 ibdata1 的数据文件夹中恢复 MySQL 数据库

我的 WAMP 目录不小心被另一个用户删除了。MySQL 中只有数据文件夹可用。并且,只有数据库文件夹(“\bin\mysql\mysql5.6.12\data\”中带有数据库名称的文件夹)可用。“\bin\mysql\mysql5.6.12\data\”根目录下包括“ ibdata1 ”在内的所有文件也被删除。

数据库文件夹仅包含以下扩展名的文件。

*.frm,*.ibd

和“db.opt”文件。

如何恢复数据库?

我已经尝试恢复 bdata1。但是,无法收回。而且,一些数据库也包含 MYISAM。

mysql innodb recovery ibdata wamp

16
推荐指数
1
解决办法
6万
查看次数

如何恢复文件被移动的 InnoDB 表

所以我有一个在复制流上设置的测试数据库服务器。在名称上出现了一个优化,它迅速填满了 slaves 数据目录上的空间。Mysql 尽职尽责地等待更多空间。

这个 datadir 是一个文件系统,只用作 mysql 的 datadir,所以没有其他东西可以释放。

我有一个 4 g innodb 测试表,它不是复制流的一部分,所以我想我会尝试一些东西来看看它是否有效,作为一个测试环境,如果事情出现严重错误,我并不太担心。

这是我采取的步骤

  1. 冲洗了我正要移动的桌子
  2. 在它上面放置了一个读锁(即使没有写入它并且它不在复制流中)
  3. 将 .frm 和 .ibd 复制到带有一些空闲空间的文件系统
  4. 解锁了桌子
  5. 截断该表 - 这为优化完成释放了足够的空间,复制开始再次开始。
  6. 停止从属/关闭 mysql
  7. 将文件从 tmp 复制回数据目录
  8. 重启mysql

.err 日志中没有显示任何内容,看起来不错。我连接并使用 mydb;并查看我在展示表中弄乱的表。但是,如果我尝试

select * from testtable limit 10;
Run Code Online (Sandbox Code Playgroud)

我收到错误

ERROR 1146 (42S02): Table 'mydb.testtable' doesn't exist
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以从所有其他表中读取数据,并且复制开始备份,没有任何抱怨。

我能做些什么来从这一点上恢复过来吗?如果需要,我可以从头开始重建它,但很好奇其他人对这次冒险的总体看法。我采取的一系列步骤是否有任何结果会导致更​​完美的结果?

如果这不是一个测试服务器,我不能只是“实时运行”看看会发生什么?如果我不得不喜欢,有什么最好的方法可以暂时释放生产从站上的空间?

mysql innodb disk-space

15
推荐指数
1
解决办法
8万
查看次数

从 .ibd、.frm 和 mysqllogbin 文件恢复 MySQL 表

出于某种原因,当我尝试打开存储在.frm.ibd文件中的表(无论是在 MySQL 还是 phpmyadmin 上)时,它会给我一个语法错误,或者它说它不存在。

我已经从 .frm 和 .ibd 文件中读取了恢复表?有与此类似的问题,但我不知道如何检查是否innodb_file_per_table已启用,而且我总体上真的很困惑。我还将我的mysql-bin.000002文件的副本转换为txt 文件,因此我看到我的数据库中的数据没有完全丢失。

该数据库是去年创建的。我有 6 个mysql-bin.00000文件,但由于某种原因,.000002它是最大的。现在,我拥有所有数据库的.ibd.frm文件,但我不知道如何将其恢复回 MySQL,或者至少恢复到我可以读取的内容。

我在 Windows 2003 Server 上使用 WampServer 2.4 和 MySQL 5.6.12。另外,我应该在 InnoDB 中下载插件吗?

mysql innodb recovery mysql-5.6 mysqlbinlog

10
推荐指数
1
解决办法
6万
查看次数

如何仅从 .frm 文件中提取表架构?

我已经从备份中提取了 mysql 的数据目录,需要从旧表中获取模式,但它是来自另一台机器的备份。

我今天已经阅读了大量有关如何执行此操作的教程,但每次似乎都失败了,或者我最终不得不重新安装 mysql,因为 mysql 挂起或崩溃。我尝试了以下方法:

  • 创建不同的数据库
  • 在该数据库中创建同名表
  • 替换文件
  • 停止/启动引擎
  • .frm文件中恢复

我尝试了各种顺序和组合。

是否有任何外部工具可以从.frm文件中提取模式?如果我打开文件,我可以看到列名。我看了一眼,但似乎找不到任何能让我做到这一点的东西。

提前致谢。

mysql innodb schema recovery

8
推荐指数
1
解决办法
4万
查看次数

错误 找不到或打开表?

  • MySQL 版本:5.5.24

由于以下问题:

mysql> desc reportingdb.v3_zone_date_cpm7k;       
ERROR 1146 (42S02): Table 'reportingdb.v3_zone_date_cpm7k' doesn't exist
Run Code Online (Sandbox Code Playgroud)

/var/log/mysqld.log

120927 16:57:04 [ERROR] Cannot find or open table reportingdb/v3_zone_date_cpm7k#P#pcurrent_2012926 from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't …
Run Code Online (Sandbox Code Playgroud)

mysql innodb recovery

5
推荐指数
1
解决办法
3万
查看次数

移动数据目录中的文件后无法访问MySQL数据库

我在本地使用 Xampp,我最近进行了一次计算机升级,从 XP 升级到 Windows 7,还获得了一个新驱动器来安装 Windows。

我有我所有的旧 Xampp 文件:G:\xampp 我安装了新的 Xampp:(C:\xampp这是他们以前所在的目录位置)

然后我将所有内容复制 G:\xampp\mysql\dataC:\xampp\mysql\data.

当我在 SQLYog 中查看特定数据库时,除了一张表外,我可以看到一切正常:

表 'qotm.wp_36rwq4kcgt_options' 不存在

...但是当我尝试通过脚本连接到数据库时,我得到:

InnoDB:尽管存在表的 .frm 文件,但无法从 InnoDB 的内部数据字典打开表 qotm/wp_36rwq4kcgt_options。有关如何解决问题,请参阅http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html

我访问了那个链接,我能找到的最相关的是问题打开表下的部分;然而,我没有任何 #SQL-在该目录中的.ibd *文件,也没有任何的.ibd任何文件在那里。

然后我找到了这篇文章,但它只提到了我没有的.ibd文件。

mysql innodb restore

4
推荐指数
1
解决办法
3274
查看次数

标签 统计

innodb ×6

mysql ×6

recovery ×4

disk-space ×1

ibdata ×1

mysql-5.6 ×1

mysqlbinlog ×1

restore ×1

schema ×1

wamp ×1