我将phpBB3安装到Mac OS X服务器(10.9),从4月到几个小时前它一直运行良好。我无法确定问题的确切原因,但似乎在安装OS X Server 10.9.4更新后,它的某些数据库失去了完整性。所以我会解释发生了什么以及我尝试了什么。
当我尝试访问论坛时,收到以下错误消息。
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。它说Table缺失了。我不知道如何解决它。因此,在OS X Server更新之前,我使用TimeMachine恢复系统的先前状态。论坛没问题,但我盲目地再次尝试了OS更新,最终重复了这个问题。我再次使用了TimeMachine。这次论坛还没有恢复。同时TimeMachine备份刚满,我意识到我丢失了所有TimeMachine备份但最新的备份。这样,我就不能再回来恢复phpBB3论坛。
我放弃了使用TimeMachine备份进行恢复,并尝试通过phpMyAdmin导入最后一次备份来恢复数据库。备份是在2个月前完成的,但仍然比没有好。但是,导入也没有。
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,但我失败了。
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
文件夹中的内容恢复数据库吗?
答案 0 :(得分:0)
我找到了这篇文章。
mysqldump problems with restore error: 'Please DISCARD the tablespace before IMPORT'
它表示文件夹/usr/local/mysql/data/phpbb3
应包含.ibd
个文件和.frm
个文件。但是ERROR Tablespace for table '
phpbb3 .
phpbb_acl_groups ' exists.
意味着.frm
文件全部消失了。事实确实如此。
所以我判断文件夹/usr/local/mysql/data/phpbb3
已不再使用了。现在所有TimeMachine备份都已消失,唯一的方法是依赖可用的数据库备份文件。我被迫从finder中删除该文件夹。通过phpMyAdmin创建新的空数据库,然后导入数据库备份。这次没有错误,我能够登录到phpBB3论坛。虽然我丢失了新数据,但论坛本身似乎还不错。
答案 1 :(得分:-3)
MS SQL数据库恢复工具,可以轻松地从损坏的表,触发器,视图等执行SQL Server数据库恢复。此工具兼容所有MS SQL版本2000,2005& 2008.有关详细信息和免费下载,请单击http://recoverydatatools.com/sql-recovery.html