我的 WAMP 目录不小心被另一个用户删除了。MySQL 中只有数据文件夹可用。并且,只有数据库文件夹(“\bin\mysql\mysql5.6.12\data\”中带有数据库名称的文件夹)可用。“\bin\mysql\mysql5.6.12\data\”根目录下包括“ ibdata1 ”在内的所有文件也被删除。
数据库文件夹仅包含以下扩展名的文件。
*.frm,*.ibd
和“db.opt”文件。
如何恢复数据库?
我已经尝试恢复 bdata1。但是,无法收回。而且,一些数据库也包含 MYISAM。
所以我有一个在复制流上设置的测试数据库服务器。在名称上出现了一个优化,它迅速填满了 slaves 数据目录上的空间。Mysql 尽职尽责地等待更多空间。
这个 datadir 是一个文件系统,只用作 mysql 的 datadir,所以没有其他东西可以释放。
我有一个 4 g innodb 测试表,它不是复制流的一部分,所以我想我会尝试一些东西来看看它是否有效,作为一个测试环境,如果事情出现严重错误,我并不太担心。
这是我采取的步骤
.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)
到目前为止,我可以从所有其他表中读取数据,并且复制开始备份,没有任何抱怨。
我能做些什么来从这一点上恢复过来吗?如果需要,我可以从头开始重建它,但很好奇其他人对这次冒险的总体看法。我采取的一系列步骤是否有任何结果会导致更完美的结果?
如果这不是一个测试服务器,我不能只是“实时运行”看看会发生什么?如果我不得不喜欢,有什么最好的方法可以暂时释放生产从站上的空间?
出于某种原因,当我尝试打开存储在.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 的数据目录,需要从旧表中获取模式,但它是来自另一台机器的备份。
我今天已经阅读了大量有关如何执行此操作的教程,但每次似乎都失败了,或者我最终不得不重新安装 mysql,因为 mysql 挂起或崩溃。我尝试了以下方法:
.frm文件中恢复我尝试了各种顺序和组合。
是否有任何外部工具可以从.frm文件中提取模式?如果我打开文件,我可以看到列名。我看了一眼,但似乎找不到任何能让我做到这一点的东西。
提前致谢。
由于以下问题:
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) 我在本地使用 Xampp,我最近进行了一次计算机升级,从 XP 升级到 Windows 7,还获得了一个新驱动器来安装 Windows。
我有我所有的旧 Xampp 文件:G:\xampp
我安装了新的 Xampp:(C:\xampp这是他们以前所在的目录位置)
然后我将所有内容复制 G:\xampp\mysql\data到C:\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文件。
innodb ×6
mysql ×6
recovery ×4
disk-space ×1
ibdata ×1
mysql-5.6 ×1
mysqlbinlog ×1
restore ×1
schema ×1
wamp ×1