[![如何把Wordpress数据迁移至WordPress MU](https://pic.salongweb.com/2015/07/wordpress-to-wordpress-mu.jpg)](https://pic.salongweb.com/2015/07/wordpress-to-wordpress-mu.jpg)前面我们介绍了如果[安装WordPress MU](https://api.salongweb.com/wordpress-multisite-network.html)，安装完成后我们就需要把每个独立站点的数据转移到MU中，在MU中最原始的站点数据是不需要改动，只需要转移新添加的站点文件和数据，而这个转移的过程并不是很轻松。

WordPress的数据包括程序文件和数据库，所以转移的过程也分为两部分：

首先，我们来了解一下新创建的站点文件夹和数据表结构，在Wordpress中新建的数据库表前缀是：“wp\_”的形式，而MU创建的第二个站点数据库表前缀是：“wp\_2\_”（2是新站点的ID）的形式；而MU创建新站点时会在主站的uploads文件夹下创建sites文件夹，再根据ID（假如ID为2）会在sites文件夹下再创建数字“2”这个文件夹，这样我们就明白数据该如何转移了。
\[related\_posts tagid=”89″\]
**一、程序文件的转移**

转移的目标：主题和uploads文件夹下的所有文件

1、主题，我们可以在“管理网络”中的“主题”中直接安装，也可以在主机上拷贝到主站的themes文件夹下，然后在管理网络——外观——主题，点击“开放给整个站点网络使用”，这时我们就可以返回到新站点中进行启用该主题。

2、文件，把uploads文件夹下的所有文件都转移到“2”这个文件夹下即可。

**二、数据库的转移**

也许我们会想到用WP自身的导入与导出工具，把所有文章全部导出，再导入到新的站点，如果文章多，导出的XML文件好几M，导入的时候会耗费太长的时间，那就让人头痛了。所以我们推荐大家把原数据库导出，然后导入到新的站点。

**1、导出原博客中的数据**

打开 phpMyAdmin，导出原博客中的数据为.sql文件，数据表如下：

1. wp\_commentmeta
2. wp\_comments
3. wp\_links
4. wp\_options
5. wp\_postmeta
6. wp\_posts
7. wp\_terms
8. wp\_term\_relationships
9. wp\_term\_taxonomy
10. wp\_usermeta
11. wp\_users

a、用文本编辑器打开导出的 .sql 文件，使用全局替换功能将其中的”wp\_”替换为”wp\_2\_”（2为新站点的ID，如果ID是3，就写成wp\_3\_），替换并保存;

b、再将“wp-content/uploads”全局替换为“wp-content/uploads/sites/2”，把媒体文件的路径修改成网络路径。

**2、导入修改好的数据库到MU数据库中**

现在打开新站点的phpMyAdmin，找到MU数据库，你会发现数据库中有“wp\_”和“wp\_2\_”两个表前缀的数据库，把前缀为“wp\_2\_”所有的数据删除或重命名，然后导入刚才修改过的 .sql 文件。

**3、修正“siteurl”与“home”中的地址（在没有绑定原域名之前）**

在MU新创建的站点，域名是newname.Domainname.com这样的二级域名，我们需要把原域名修改成MU中新添加的二级域名，打开wp\_options数据表，找到名称为“siteurl”与“home”两个数据，修改其中的值即可。

有些朋友在使用的过程中发现使用原博客中的wp\_options数据会出现问题，如果有问题就不导出原博客中的wp\_options数据，使用新站点wp\_options数据，然后再设置下新站点。

在后面我们会讲到如果绑定域名，如果绑定了原域名而且使用原博客中的wp\_options数据，我们就不需要修改这一步了！

**4、修正文章作者**

因为修改过的数据库表前缀为“wp\_2\_”，与之前的是不一样，所以我们需要在MU中把新站点中所有的文章作者指定给MU管理员，可以在phpMyAdmin中的SQL中执行以下代码：

1. UPDATE wp\_2\_posts SET post\_author = 1

如果新站点的有多个作者，那只有在后台——文章列表中选择同一作者的文章进行批量修改了。

**5、修正数据库中的meta\_key**

我们在前面修改表前缀是全局替换，我们也把一些不需要修改成“wp\_2\_”这样的数据给修改好，如数据库表 wp\_2\_postmeta 和 wp\_2\_usermeta 中的一些meta\_key，基本上是以“\_wp\_”这样的数据表，所以我们需要在替换完成后将其改回原来的值，仍以博客 ID 为2作为例子，在 MU 的数据库中使用下面的 SQL 语句进行修正：

1. UPDATE wp\_2\_postmeta SET meta\_key = ‘\_wp\_2\_attachment\_metadata’ WHERE meta\_key = ‘\_wp\_attachment\_metadata’
2. UPDATE wp\_2\_usermeta SET meta\_key = ‘\_wp\_2\_attached\_file’ WHERE meta\_key = ‘\_wp\_attached\_file’

可能不止这两处地方，根据实际情况再修改回来。

到这里文件与数据的转移基本完成，前往“管理网络”后台中将插件与主题启用，新的站点就可以使用了。
\[successbox\]一个程序包，一个管理面板，一个数据库，轻松快捷地创建N多个站点，使用WordPress MU省去了很多重复的工作，节省了空间，管理方便，实在是大赞，萨龙龙是相当的喜欢，相信有多个站点的你也一定会喜欢。\[/successbox\]