首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpBB3 SQL数据库表不存在错误;无法从备份导入或删除损坏的数据库

phpBB3 SQL数据库表不存在错误;无法从备份导入或删除损坏的数据库
EN

Stack Overflow用户
提问于 2014-07-19 08:29:24
回答 2查看 1.7K关注 0票数 1

我在Mac服务器上安装了phpBB3 (10.9),直到几个小时前,它一直运行良好。我不知道问题的确切原因,但似乎在安装OSXServer10.9.4更新之后,它的数据库不知怎么就失去了它的完整性。所以我会解释发生了什么以及我尝试了什么。

当我试图访问论坛时,我收到了以下错误消息。

代码语言:javascript
复制
General Error 
SQL ERROR [ mysql4 ]
Table 'phpbb3.phpbb_config' doesn't exist [1146]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.

然后我去了phpMyAdmin,点击了数据库phpbb3。上面说桌子不见了。我不知道怎么修好它。因此,在OS更新之前,我使用TimeMachine恢复了系统的以前状态。论坛是好的,但我盲目尝试操作系统的更新,并以重复这个问题结束。我又用了TimeMachine。这次论坛还没有恢复。与此同时,TimeMachine备份刚刚满了,我意识到,除了最新的备份之外,我丢失了所有的TimeMachine备份。这样,我就不能再恢复phpBB3论坛了。

我放弃了使用TimeMachine备份进行恢复,并试图通过phpMyAdmin导入最后一个备份来恢复数据库。备份是在两个月前完成的,但总比没有好。然而,导入也不起作用。

代码语言:javascript
复制
Error
SQL query:

CREATE TABLE IF NOT EXISTS `phpbb_acl_groups` (
  `group_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `forum_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `auth_option_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `auth_role_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `auth_setting` tinyint(2) NOT NULL DEFAULT '0',
  KEY `group_id` (`group_id`),
  KEY `auth_opt_id` (`auth_option_id`),
  KEY `auth_role_id` (`auth_role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
MySQL said: Documentation

#1813 - Tablespace for table '`phpbb3`.`phpbb_acl_groups`' exists. Please DISCARD the tablespace before IMPORT.

然后我尝试删除数据库phpbb3,但失败了。

代码语言:javascript
复制
Error 
SQL query: 
DROP DATABASE `phpbb3` MySQL said: Documentation

#1010 - Error dropping database (can't rmdir './phpbb3', errno: 66)

最后,我找到了实际数据库文件的位置(/usr/local/mysql/data/phpbb3)。我查看了文件夹中的文件,仍然有很多文件;所有文件都以.ibd扩展名结束,包括phpbb_acl_groups.ibd (147 KB;这是按字母顺序排列的第一个文件)。

我的问题是:我该怎么办?我是否应该手动删除/usr/local/mysql/data/phpbb3文件夹并尝试导入最新的(2个月前)数据库导出文件?或者我可以从/usr/local/mysql/data/phpbb3文件夹中恢复数据库吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-20 00:17:50

我找到了这篇文章。

mysqldump problems with restore error: 'Please DISCARD the tablespace before IMPORT'

它说文件夹/usr/local/mysql/data/phpbb3应该包含.ibd文件和.frm文件。但是错误Tablespace for table 'phpbb3.phpbb_acl_groups' exists.意味着.frm文件都消失了。情况确实如此。

因此,我认为文件夹/usr/local/mysql/data/phpbb3不再有用了。现在所有的TimeMachine备份都结束了,唯一的方法就是依赖可用的数据库备份文件。我被迫将文件夹从查找器中移除。通过phpMyAdmin创建新的空数据库,然后导入数据库备份。这一次没有错误,我能够登录到phpBB3论坛。虽然我丢失了新的数据,但论坛本身似乎还不错。

票数 0
EN

Stack Overflow用户

发布于 2014-09-05 12:45:04

MS数据库恢复工具,该工具容易从损坏和丢失的表、触发器、视图等中执行SQL服务器数据库恢复。该工具与所有MS版本2000、2005和2008兼容。有关详细信息和免费下载,请单击http://recoverydatatools.com/sql-recovery.html

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24838366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档