我有一个小的维基,我曾经在一个免费的主机上托管,但似乎它被垃圾邮件发送,主机将其删除了.他们传给我一个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)
解决方法:
看起来你的SQL备份来自较旧版本的MediaWiki,并且缺少page.page_content_model
列(可能还有其他).
要解决此问题,您需要使用您的MediaWiki版本附带的run the database schema update script(maintenance/update.php
).您可以从命令行(推荐)或通过web upgrader(如果您没有命令行访问权限)执行此操作.
有关更多详细信息,请参阅上面的链接,但基本上,对于具有命令行访问权限的典型MediaWiki安装,您只需要ssh到您的Web主机,cd到MediaWiki根目录,然后运行:
php maintenance/update.php
你会看到很多输出描述了脚本正在做什么(主要是检查丢失的数据库列并添加它们),但希望没有错误.如果一切顺利,您的维基现在应该可以使用了.