如何只将较新的帖子从一个Mediawiki MySQL迁移到另一个?

时间:2014-10-29 00:32:36

标签: mysql mediawiki

我转储了一个Mediawiki实例使用的MySQL数据库。我将此数据库迁移到另一台计算机并重新安装了Mediawiki。旧机器仍在运行并获得新帖子。如何仅将这些新帖子迁移到新计算机?如果只是进行新转储并将其迁移到新机器,它会起作用吗?

1 个答案:

答案 0 :(得分:1)

如果您的新维基上没有编辑,您可以继续进行完全转储/导入:

在旧服务器上:

 mysqldump --user=USERNAME --password=PASSWORD --host=DB.MYWIKI.COM wikidb > dbdump.sql

在您的新服务器上:

 mysql --user=USERNAME --password=PASSWORD wikidb < dbdump.sql

这将覆盖现有的所有表格。

如果由于某种原因,您需要导出/导入在特定日期之后修订的网页,最简单的方法是使用the Recent Changes API获取最近更改过的所有网页的列表,例如action=query&list=recentchanges&rcprop=title,然后通过Special:Export导出这些网页。您将获得XML转储,然后可以通过Special:Import导入。在执行转储时,您甚至可以指定在特定日期之后只需要更改,如下所示:

https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page%0AStack%20overflow&offset=2014-10-27T20:25:56Z&limit=5

注意页面名称之间的奇数分隔符:%0A。有关执行导出的更多选项,请参阅https://www.mediawiki.org/wiki/Manual:Parameters_to_Special:Export