Mediawiki数据库恢复

时间:2014-11-09 17:32:33

标签: mysql backup mediawiki restore

我在一个免费的主机上安装了一个小维基,但似乎它被垃圾邮件发送了,主机将其删除了。他们传给我一个2GB大的.sql文件。我正在设置另一个wiki,将.sql加载到其中并清理混乱(或找到好东西并将其复制出来)。

我设置了一个新的mediawiki,然后我做了以下内容:

mysql -u <user> -h mysql.domain.com -p<password> -e "drop database <dbname>;"
mysql -u <user> -h mysql.domain.com -p<password> -e "create database <dbname>;"
mysql -u <user> -h mysql.domain.com -p<password> <dbname> < file.sql

这需要很长时间,但我没有错误,然后当我访问mediawiki网址时,我看到:

A database query error has occurred. This may indicate a bug in the software.

这是错误的方法吗?我能正确地做到这一点最简单的方法是什么?


编辑:

现在看:

A database query error has occurred. This may indicate a bug in the software.

Query:
SELECT page_id,page_namespace,page_title,page_restrictions,page_counter,page_is_redirect,page_is_new,page_random,page_touched,page_latest,page_len,page_content_model FROM `page` WHERE page_namespace = '0' AND page_title = 'Main_Page' LIMIT 1
Function: WikiPage::pageData
Error: 1054 Unknown column 'page_content_model' in 'field list' (mysql.domain.com)

2 个答案:

答案 0 :(得分:3)

mass-delete pages有一些扩展名,但没有人可以在特定日期之后删除所有网页&#34;。根据您必须删除的页面的类型,您可以使用:

答案 1 :(得分:2)

看起来您拥有的SQL备份来自较旧版本的MediaWiki,并且缺少page.page_content_model列(可能还有其他列)。

要修复它,您需要使用您的MediaWiki版本附带的run the database schema update scriptmaintenance/update.php)。您可以从命令行(推荐)或通过web upgrader(如果您没有命令行访问权限)执行此操作。

请参阅上面的链接以获取更多详细信息,但基本上,对于具有命令行访问权限的典型MediaWiki安装,您只需要ssh到您的Web主机,cd到MediaWiki根目录,并运行:

php maintenance/update.php

你会看到很多输出描述了脚本正在做什么(主要是检查丢失的数据库列并添加它们),但希望没有错误。如果一切顺利,您的维基现在应该可以使用了。