【问题标题】:How do I migrate a mysql database from mediawiki 1.14.0 to mediawiki 1.32.0?如何将 mysql 数据库从 mediawiki 1.14.0 迁移到 mediawiki 1.32.0?
【发布时间】:2019-08-22 22:51:19
【问题描述】:

Godaddy 迫使旧服务器下线,我别无选择,只能将旧的 mediawiki 服务迁移到新服务器。 由于使用了我担心现在已经消失或不同的扩展,我不得不维护旧版本。

以下是相关版本:

  • 来源:mediawiki 1.14.0、PHP 5.1.6 (apache2handler)、MySQL 5.0.77
  • 目标:mediawiki 1.32.0、PHP 7.2.15、MySQL 5.7.25、ICU 60.2

我将 /var/lib/mysql/ 的所有内容从旧服务器复制到备份目录中的新服务器,并且我也复制了 mysql 转储。

是否可以简单地将数据库树从 Source 放入 Target 中以不同的名称,然后修改 LocalSettings.php?

如果没有,可以恢复 mysql 转储来完成这项工作吗?

扩展程序已更改,我将不得不查看数百页以检查问题。

欢迎任何关于如何以最少的问题做到这一点的建议。

另外,我可能会考虑聘请承包商来审查任务并监督我的工作。必须是以前做过此类迁移的人,或者具有其他明显足够经验的人。

【问题讨论】:

  • 我轻松阅读了 mediawiki markdown。如果有一种方法可以通过使用 wget 递归地获取编辑页面中编辑字段的内容来转储页面源,那将比使用 mysql 坐立不安要好得多。那么,是否有一个递归的 wget 或 curl 命令可以下载页面源代码?

标签: mediawiki database-migration


【解决方案1】:

对您的问题的简短回答是,很痛苦。这大约是十年的变化。没有任何魔法可以让应用它们变得比听起来那么难。您必须导入旧数据库,运行 update.php,并准备调试可能发生的任何错误,因为您将使用在您之前很少有人采用的升级路径。

或者,您可以导出内容(maintenance/dumpBackup.php 存在于 1.14 中)并重新导入新的 wiki,并接受丢失并不得不重新创建非内容或内容历史记录(如用户记录)的所有内容。

是否可以简单地将数据库树从 Source 放入 Target 中以不同的名称,然后修改 LocalSettings.php?

是的,虽然我不确定你使用不同的名字会赢得什么。

【讨论】:

  • 感谢您的意见。 dumpBackup 有一个缺陷,没有做任何事情就抛出错误。我试图修复它,但失败了。我一直在手动传输,但是已经有几百页了,还有很长的路要走。感谢您的建议。
  • 您可以使用pywikibot 或类似的工具。此外,您可以在 MediaWiki support forumbug tracker 报告错误。
【解决方案2】:

我遇到了类似的问题。我只能强烈建议仔细阅读任何版本的发行说明,尤其是数据库更改以及有关如何在 LocalSettings.php 中加载皮肤和扩展的更改。例如,皮肤的工作方式在 1.24 IIRIC 版本前后发生了变化。

此外,请务必创建 1.14 LocalSettings.php 的重命名副本,并在升级期间通过安装程序创建一个新副本,旧的副本会导致大量异常。您可能还需要多次运行数据库升级。 还要确保将旧的 1.14 wiki 安装移动到一个额外的文件夹并上传新的 mediawiki 安装,不要只是用新的 mediawiki 版本覆盖 1.14 中的现有文件。

最后,我走了很长的路,首先在本地 XAMPP 转储上逐个版本升级,然后在我确定每个版本升级的所有问题后在服务器上,检查每个版本的发行说明并做出所需的更改我的自定义皮肤,替换不推荐使用的扩展等。

祝你好运。

【讨论】:

  • 好主意。我不认为我有时间走很长的路。我的机器上有十几个 mediawiki,都是 1.14,还有几个扩展,其中一些已经在最新的产品(即 gnuplot)中消失了。我将不得不通过最长的方式丢失一些材料;访问每个旧页面,进入编辑模式,复制,访问新页面,进入编辑模式,粘贴,然后尝试修复任何看起来错误的东西。感谢您的想法。
猜你喜欢
  • 1970-01-01
  • 2011-02-22
  • 2023-03-07
  • 2011-10-26
  • 2012-07-27
  • 2011-02-17
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
相关资源
最近更新 更多