Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从文件中恢复MySQL(无转储)_Mysql - Fatal编程技术网

从文件中恢复MySQL(无转储)

从文件中恢复MySQL(无转储),mysql,Mysql,是否可以从他们的文件中复制MySQL数据库?[我知道mysqldump是复制数据库的最佳方法,但这是不可能的,因为我们只有mysql文件夹中的备份文件] 我们有iBDATA1文件、iByLog*文件和三个DB的完整目录,我们希望从备份文件恢复(文件夹似乎包含所有需要的FRM和PAR文件)。显然,我们已经尝试将所有文件复制到/var/lib/mysql中,尽管结构看起来完好无损,但访问数据的尝试没有成功 i、 e.show databases将显示数据库,use dbname起作用,show ta

是否可以从他们的文件中复制MySQL数据库?[我知道mysqldump是复制数据库的最佳方法,但这是不可能的,因为我们只有mysql文件夹中的备份文件]

我们有iBDATA1文件、iByLog*文件和三个DB的完整目录,我们希望从备份文件恢复(文件夹似乎包含所有需要的FRM和PAR文件)。显然,我们已经尝试将所有文件复制到/var/lib/mysql中,尽管结构看起来完好无损,但访问数据的尝试没有成功

i、 e.
show databases
将显示数据库,
use dbname
起作用,
show tables
正确显示表,但当尝试从[任何]表(通过查询)访问数据时,会显示错误1146(42S02):表'dbname.dbtable'不存在-尽管mysql很高兴地向我们展示了,但当我们展示表时,表确实存在


还应指出,在复制文件之前,服务已停止,所有文件的所有者为mysql,然后在尝试访问数据之前,服务已重新启动。

要间接回答您的问题,这里有一些关于使用原始文件副本设置复制的信息。因此,我想答案可能是肯定的,但这可能要视情况而定


不希望增加您当前的痛苦,但您是否依赖从未尝试/不知道如何恢复的备份?

要间接回答您的问题,这里有一些关于使用原始文件副本设置复制的信息。因此,我想答案可能是肯定的,但这可能要视情况而定


不想增加您当前的痛苦,但您是否依赖于从未尝试过/不知道如何恢复的备份?

您在MySQL服务器错误日志中看到了什么?InnoDB从中恢复数据可能相当挑剔。您至少需要确保服务器配置与InnoDB日志文件大小等重要变量相匹配。它给出的错误是:120326 10:07:18[错误]无法从InnoDB的内部数据字典中找到或打开表dbname/tablename,尽管该表的.frm文件存在。可能您已删除并重新创建了InnoDB数据文件,但忘记删除InnoDB表的相应.frm文件,或者您已将.frm文件移动到另一个数据库?或者,该表包含此版本的引擎不支持的索引。但是看起来Jaydee提供了一个链接,可以帮助我们了解如何恢复。你在MySQL服务器错误日志中看到了什么吗?InnoDB从中恢复数据可能相当挑剔。您至少需要确保服务器配置与InnoDB日志文件大小等重要变量相匹配。它给出的错误是:120326 10:07:18[错误]无法从InnoDB的内部数据字典中找到或打开表dbname/tablename,尽管该表的.frm文件存在。可能您已删除并重新创建了InnoDB数据文件,但忘记删除InnoDB表的相应.frm文件,或者您已将.frm文件移动到另一个数据库?或者,该表包含此版本的引擎不支持的索引。但是看起来Jayde提供了一个链接,可以帮助我们了解如何恢复。这个链接看起来很有用,谢谢。至于备份计划,我不想用不必要的背景故事把我的问题弄得一团糟。我经常使用mysqldump…长话短说,由于人为错误,这个数据库最近没有转储,但我们在擦除它之前对驱动器进行了完整的DD。那么您使用的是完全相同的MySQL和InnoDB版本以及配置文件吗?好的,这就解释了。祝你恢复顺利。链接看起来很有用,谢谢。至于备份计划,我不想用不必要的背景故事把我的问题弄得一团糟。我经常使用mysqldump…长话短说,由于人为错误,这个数据库最近没有转储,但我们在擦除它之前对驱动器进行了完整的DD。那么您使用的是完全相同的MySQL和InnoDB版本以及配置文件吗?好的,这就解释了。祝你康复顺利。