<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://qingliezhiquan.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%E6%80%8E%E6%A0%B7%E8%BF%81%E7%A7%BB_MediaWiki_%E7%AB%99%E7%82%B9</id>
	<title>怎样迁移 MediaWiki 站点 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://qingliezhiquan.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%E6%80%8E%E6%A0%B7%E8%BF%81%E7%A7%BB_MediaWiki_%E7%AB%99%E7%82%B9"/>
	<link rel="alternate" type="text/html" href="https://qingliezhiquan.com/mediawiki/index.php?title=%E6%80%8E%E6%A0%B7%E8%BF%81%E7%A7%BB_MediaWiki_%E7%AB%99%E7%82%B9&amp;action=history"/>
	<updated>2026-08-11T10:59:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://qingliezhiquan.com/mediawiki/index.php?title=%E6%80%8E%E6%A0%B7%E8%BF%81%E7%A7%BB_MediaWiki_%E7%AB%99%E7%82%B9&amp;diff=7909&amp;oldid=prev</id>
		<title>Mwroot: Created page with &quot;相同版本的迁移很简单，重建旧环境，再把 database 和 file system 移过去就行。所以本文重点讨论升级式迁移：新 code + 旧重点备份 + update.php 等于升级成功。  新版本的数据，恢复至旧版本 MediaWiki，不支持。  旧版本的数据，恢复至新版本 MediaWiki，支持。不过要运行 update script. * 若 mediawiki/ 全量备份，则不用再装 mediawiki * 若 mediawiki/* 部分备份，则需在服务器...&quot;</title>
		<link rel="alternate" type="text/html" href="https://qingliezhiquan.com/mediawiki/index.php?title=%E6%80%8E%E6%A0%B7%E8%BF%81%E7%A7%BB_MediaWiki_%E7%AB%99%E7%82%B9&amp;diff=7909&amp;oldid=prev"/>
		<updated>2025-09-29T02:11:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;相同版本的迁移很简单，重建旧环境，再把 database 和 file system 移过去就行。所以本文重点讨论升级式迁移：新 code + 旧重点备份 + update.php 等于升级成功。  新版本的数据，恢复至旧版本 MediaWiki，不支持。  旧版本的数据，恢复至新版本 MediaWiki，支持。不过要运行 update script. * 若 mediawiki/ 全量备份，则不用再装 mediawiki * 若 mediawiki/* 部分备份，则需在服务器...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;相同版本的迁移很简单，重建旧环境，再把 database 和 file system 移过去就行。所以本文重点讨论升级式迁移：新 code + 旧重点备份 + update.php 等于升级成功。&lt;br /&gt;
&lt;br /&gt;
新版本的数据，恢复至旧版本 MediaWiki，不支持。&lt;br /&gt;
&lt;br /&gt;
旧版本的数据，恢复至新版本 MediaWiki，支持。不过要运行 update script.&lt;br /&gt;
* 若 mediawiki/ 全量备份，则不用再装 mediawiki&lt;br /&gt;
* 若 mediawiki/* 部分备份，则需在服务器安装同版本 mediawiki，再把备份部分移到它应去的位置&lt;br /&gt;
&lt;br /&gt;
最好的迁移，是保持相同 MediaWiki 版本。不过，现实中多数是在新服务器上安装更新版本的 MediaWiki，把数据迁移进去后，在新服务器上做一个 update 或 upgrade 操作。&lt;br /&gt;
&lt;br /&gt;
传文件进新服务器的方法有 putty 或 WinSCP 或 SSH 或 FTP。&lt;br /&gt;
&lt;br /&gt;
== 概览 ==&lt;br /&gt;
MediaWiki 的安装位置：&lt;br /&gt;
&lt;br /&gt;
[[File:MediaWiki 安装位置.png|600px]]&lt;br /&gt;
&lt;br /&gt;
步骤概览：&lt;br /&gt;
# 重建数据库、用户、权限&lt;br /&gt;
# 导入 database&lt;br /&gt;
# 导入 files&lt;br /&gt;
# 检查 configuration&lt;br /&gt;
# 测试&lt;br /&gt;
&lt;br /&gt;
对公共 MediaWiki 迁移前，先把权限改为只读，避免丢失用户在迁移期间编辑的内容。在 LocalSettings.php 中添加：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
$wgReadOnly = &amp;#039;Down for maintenance: access will be restored shortly&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
而且，记得重启 apache2 的 php 模块：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
sudo a2enmod php8.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 迁移 Database ==&lt;br /&gt;
Database 包含页面内容、用户配置、metadata、索引内容。&lt;br /&gt;
&lt;br /&gt;
=== 备份 Database ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
sudo apt install automysqlbackup&lt;br /&gt;
sudo automysqlbackup&lt;br /&gt;
sudo find /var/lib/automysqlbackup/&lt;br /&gt;
sudo cp /var/lib/automysqlbackup/weekly/my_wiki/my_wiki_week.18.2016-05-07_15h32m.sql.gz /some/place/you/want&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
除了用 automysqlbackup，用 mysqldump 一样也能实现 Database 的备份，这是第二种方法。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
mysqldump --default-character-set=binary --user=wikidb_user --password=wikidb_userpassword wikidbname &amp;gt; dump_of_wikidb.sql 或者&lt;br /&gt;
mariadb-dump -u DBuser -p DBname &amp;gt; mysqlbackup20250815.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 创建 MySQL 环境 ===&lt;br /&gt;
多数重要数据存在 database 中。迁移的前提准备：创建一个正常使用的 MySQL 环境，合适的 MySQL 用户权限。备份在旧机器上操作，备份后的步骤到新机器做。&lt;br /&gt;
# create a NEW mysql user (new_mysql_user)&lt;br /&gt;
# create a NEW mysql database my_wiki&lt;br /&gt;
# GRANT the NEW mysql user access to the NEW created mysql database my_wiki&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
mysqladmin -u wikidb_user -p&lt;br /&gt;
drop wikidb&lt;br /&gt;
sudo mysql -u root -p &lt;br /&gt;
mysql&amp;gt; CREATE USER &amp;#039;new_mysql_user&amp;#039;@&amp;#039;localhost&amp;#039; IDENTIFIED BY &amp;#039;THISpasswordSHOULDbeCHANGED&amp;#039;;&lt;br /&gt;
mysql&amp;gt; quit;&lt;br /&gt;
&lt;br /&gt;
sudo mysql -u root -p&lt;br /&gt;
mysql&amp;gt; CREATE DATABASE my_wiki;&lt;br /&gt;
mysql&amp;gt; use my_wiki;&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; GRANT ALL ON my_wiki.* TO &amp;#039;new_mysql_user&amp;#039;@&amp;#039;localhost&amp;#039;;&lt;br /&gt;
mysql&amp;gt; commit;&lt;br /&gt;
mysql&amp;gt; quit;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 迁移 Database ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
sudo chown user:user somebackup.sql&lt;br /&gt;
gunzip &amp;lt; var/lib/automysqlbackup/weekly/my_wiki/my_wiki_week.18.2016-05-07_15h32m.sql.gz|mysql -uUSER -pPASSWORD my_wiki 或&lt;br /&gt;
mysql -u wikidb_user -p wikidb &amp;lt; dump_of_wikidb.sql&lt;br /&gt;
php wikifolder/maintenance/update.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 迁移 File System ==&lt;br /&gt;
* 特别注意，链接文件复制到新机器就没用了。解决这个问题，可以采用 &amp;lt;code&amp;gt;rsync -avL source_dir/ dest_dir/&amp;lt;/code&amp;gt; 复制，L 选项令它追踪软链后的实体文件。&lt;br /&gt;
* LocalSettings.php 一般复制过去能直接用&lt;br /&gt;
* logo 也要备份&lt;br /&gt;
* 如果有 .htaccess，也需要备份&lt;br /&gt;
* 上传的文件，包括删除文件、缩略图、渲染的数学图、svg图，多半都放在 images/ 文件夹下。images 文件夹的所有者为 www-data，权限为 755。php 文件一定不能为 www-data 所有。&lt;br /&gt;
* extensions/ 也需要备份&lt;br /&gt;
&lt;br /&gt;
不要覆盖文件夹。可先在别处解压备份文件。把 File System 移到相应位置，再打开浏览器运行 Config script 以生成 LocalSettings.php。需要迁移的文件如上。以下仅为压缩、解压缩示例。&lt;br /&gt;
=== 备份 File System ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
sudo tar zcvhf mediawikimybackup.tgz /var/lib/mediawiki&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 迁移 File System ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
tar -xvzf mediawikimybackup.tgz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== update ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
php maintenance/update.php # 解决缩略图的小毛病&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: MediaWiki]]&lt;/div&gt;</summary>
		<author><name>Mwroot</name></author>
	</entry>
</feed>