Wordpress 搬家简单教程

注意:由于本文成文时候久远,内容可能无法保证大于 2.3 版的 wordpress 的正常搬家操作。

看到 WordpressCN Group 上有人问怎么 Wordpress 搬家,我搜了一下,好像没有一个完整的教程。我正好闲着,就写一个教程吧。这个教程只涉及到 Wordpress 之间的搬家,至于怎么从 Live Spaces, Blogbus, Sina Blog 之类的 BSP 搬家到 Wordpress 不在讨论之列。

Wordpress 搬家其实挺简单,只需要两个步骤,一备份,二恢复。在这之上还得分两种情况,一种是换域名,一种是不换域名只换空间。

不换域名的话,搬家没有任何困难,只需要把目录下所有的文件拷贝到新空间的相应目录下,把数据库导入就完了,所以这里只讲换域名的情况。

下面是整个流程:

  1. 换域名意味着你原来 blog 上的帖子里如果使用了原目录结构的链接,所有链接在新的 Blog 里就会失效,当然没人想这样,所以就得在数据库里做一个改变,把旧链接换成新的。怎么改呢?方法一:直接在 MySQL 后台用 replace 命令把新域名替换旧域名。这个方法要求会 MySQL 命令,我是菜鸟,不懂 MySQL 命令,期待牛人告知方法。
    方法二:用 Wordpress 自带的数据库备份插件把整个数据库备份到本地硬盘上,用 Notepad++ 之类的文本编辑器打开本地数据库,然后直接 Find & Replace 之。
  2. 然后,查找”DEFAULT CHARSET=latin1″ 用”DEFAULT CHARSET=utf8″替换。
  3. 好了,这下数据库修改好了,我们还需要把数据内容导入到新的数据库中。打开 phpMyAdmin,建立一个新的数据库,然后在 Operations -> Collation 里把编码改成 “utf8_general_ci”, 再用 Import 选项把修改好的数据库导入到新的下。
  4. 接下来,要把默认域名更新。打开 wp-options 这个表,按 Browse 浏览,然后把 siteurl 和 home 两个变量的值替换成新的域名。
  5. 下一步,打开 wp-config.php,把里面的参数更新(数据库名,用户,密码)。
  6. 然后你可以把你的原 Blog 下的所有文件拷贝到新域名的相应目录下了。拷贝完后打开你的新 Blog 页面,Ta-da!!! …………很可能会看到所有文章内容变了 ??? 号,别着急,我们还有一步关键的步骤。打开 wp-includes/wp-db.php, 修改:$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
    //加上下面这行
    $this->query("SET NAMES 'utf8'" );

保存,退出,这下再打开应该没有问题了。

哦,如果你除了看到乱码,还看到“不能使用未经定义的函数”之类的错误的话,到 Wordpress 后台把原来使用的插件激活就可以了。

最后还有一点,如果不想让 Blog 的访问产生断层的话,最好把新的域名事先激活,确认了域名已经 propagate 了整个互联网后再搬家,不然某些地方的读者可能暂时不能访问你的新地址。

参考文章:
http://zhiqiang.org/blog/359.html

更新:根据 Albert 的经验,为了避免各个版本 WP 数据库结构不一样,最好在搬家前确认两边的 WP 版本一致。

20 Comment(s)

  1. hhalloyy
    December 17th, 2006 at 10:20 pm

    做了第4步应该就不用做第一步了吧?

  2. Michael  (NOT Blog Owner)
    December 18th, 2006 at 12:33 am

    to hhalloyy:

    非也非也,第一步里修改的是比如帖子里留了指向本 blog 的链接的话,改了域名链接就失效了,这一步是修正这些失效的链接的。第四步是把 wordpress 默认的目录更新……

  3. 不让误会
    December 18th, 2006 at 2:34 am

    不错的教程。

  4. 炎藤
    December 18th, 2006 at 5:37 am

  5. Michael  (NOT Blog Owner)
    December 18th, 2006 at 9:55 am

    炎藤,不错的方法,从另一个角度解决问题。

    不过有一点不好,原 blog 帖子里指向本 blog 的链接导入到新 blog 中就失效了,需要手动更新,如果这种链接比较多的话,更新起来比较麻烦。还不如直接导出数据库然后批量修改这些链接。

  6. hhalloyy
    December 19th, 2006 at 2:43 pm

    明白了,原来是改帖子里的链接地址,挺关键。

  7. interjc
    December 26th, 2006 at 4:32 pm

    不改域名的搬家似乎没有你说的这么简单吧..
    如果MySQL版本不同呢?怎么办?
    比如从4.1.x导出再导入到一个4.0.x的?

  8. Michael  (NOT Blog Owner)
    December 26th, 2006 at 4:37 pm

    从高版本的 MySQL 到低版本的会产生什么问题?我在这方面了解很少,望赐教。

  9. 注册公司
    January 26th, 2007 at 9:52 am

    很不错的站,学习了.严重感谢
    急需高手指点一下怎样设计wordpress.我也想设计成这样的风格了。
    http://www.wfoe.cn

  10. Michael  (NOT Blog Owner)
    January 26th, 2007 at 2:54 pm

    注册公司:这个比较难说清楚,我这个主题是在 Mistylook 基础上修改的。你可以去下载一个自己改改看。

  11. y0ungs
    March 1st, 2007 at 12:23 pm

    Michale, 从高版本的SQL到低版本的SQL的导入好像真的是问题啊。我从盘古转到DH是没有问题的,可我从DH转到盘古就来问题了。老提示数据库错误

  12. 酋长
    March 20th, 2007 at 1:06 pm

    这个一定要搞懂。。

  13. COOL
    March 29th, 2007 at 6:51 am

    Cool!

  14. Joe
    April 10th, 2007 at 1:39 am

    刚从blogger转到wordpress还没搞明白,看到楼主写了这么多步骤,我晕的很。

    不过顺着楼主的思路我尝试了一下利用replace替换文章内容的方法,竟然成功了,方法见这里

  15. 据民间传,google将以10万美金购买googlevpn.cn域名
    May 23rd, 2007 at 2:52 am

    据民间传,google将以10万美金购买googlevpn.cn域名

    目前双方正在联系,而googlevpn.cn域名的持有人没有透露任何消息。

    googlevpn.cn是一个专门用来介绍vpn方面知识的网站,google此次收购的目的并不明确,不过,据google fans 透露,可能是为了那死在胎中的googlevpn。

  16. 播放器下载站
    September 17th, 2007 at 8:06 am

    不错的教程,帮我解决了问题.

  17. @snail
    October 12th, 2007 at 8:11 am

    导入不了啊~~~ 老师phpadmin提示出错!~

  18. Michael  (Blog Owner)
    October 12th, 2007 at 9:04 am

    @snail, 一般有两种情况。一是你的数据库文件太大,二是你的连接不好。可以用 shell 命令解决。

    mysql -u username -ppassworld < filename

  19. 传世私服
    December 15th, 2007 at 8:48 am

    qyccc

  20. sherry
    February 11th, 2008 at 6:47 am

    一步一步,终于完成了搬家,谢谢谢谢!!!

26 Pingback/Trackback(s)

  1. Ihao Press

    December 21st, 2006 at 6:47 am

    1

    WP备份.重装.转移或镜像…

    UPDATE:发现一份更好的操作手册:Wordpress 搬家简单教程
    备份原有数据库:在PhpMyAdmin选择“导出”,表单选择框里选择“全部”,选择“另存为文件”中的“gzip 压缩”,点击“执行”,把数….

  2. 密码遗失的个人网志

    December 21st, 2006 at 3:10 pm

    2

    Wordpress 搬家简单教程…

    在BloggingPro China看到了这篇教程的链接同时介绍的还有一篇通过插件实现数据转移的文章,这两种方法解决了大多数WP使用者的数据转移难题,以后想要转移WP的数据不再头痛,特此记下,以备…

  3. 我爱wordpress » 2007 » 二月 » 01

    February 1st, 2007 at 6:19 am

    3

    [...] http://bemike.org/blog/2006/12/17/wordpress-migrating-dummy-tutorial.html 归类于: — 52wordpress @ 1:17 pm 评论(0) [...]

  4. 升级到wordpress2.1 at y0ungs的blog

    February 11th, 2007 at 3:15 pm

    4

    [...] 首先,我是第一次搬家。所以,在数据库方面遇到了问题。这个可以找到巧克力工厂和阅微堂的教程,两者基本一致,看一个就ok了。解决起来应该不难,但看到乱码变成中文的时候你就会感叹中文原来是这么美。 [...]

  5. 教學:WordPress 搬家 + 升級 at 真‧他媽的

    February 25th, 2007 at 5:23 pm

    5

    [...] WordPress 搬家简单教程 | 巧克力工厂 [...]

  6. Albert’s blog » Blog Archive » 又搬了次家,把人都累坏了

    March 9th, 2007 at 4:42 pm

    6

    [...] 不过要把以前blog上面的数据库搬过来还真是一个很棘手的问题,因为那个是2.0.9版本的wordpress,尚没有导出xml文件的功能,只能用 wordpress db backup这个插件来导出以前的数据库为sql文件,在导入到新的数据库下,这种方法在同版本的WP下还好,但是在不同版本的WP之间导出导入可就麻烦了,旧blog是2.0.9版本的,新blog安装的是2.1.2版本的,根据巧克力工厂的教程导入之后就出现莫名其妙的错误提示,在y0ungs的提示下才知道是因为两个版本的数据库结构有差别。没有办法,我只好在ifastnet重新申请一个帐号,再安装2.0.9版本的WP,导入旧的数据库之后再升级到2.1.2版本。 [...]

  7. Wordpress 2.2 的两个新特性 | 巧克力工厂 (Beta5)

    March 24th, 2007 at 11:09 pm

    7

    [...] hack 那个该死的 wp-db.php 文件了。在 WP 2.2 中只需要修改一下 wp-config.php 文件中的两个变量 DB_CHARSET 和 [...]

  8. 洲记365» Blog 存档 » Wordpress搬迁准备-迁移页内链接

    April 10th, 2007 at 1:07 am

    8

    [...] 受到Wordpress 搬家简单教程的启发,尝试用replace命令进行页内内容的替换。 [...]

  9. Wordpress 搬家简单教程 - 密码遗失的个人网志 - ChinaBlog|博客|互联网应用|网站重构|美国主机

    April 30th, 2007 at 6:24 am

    9

    [...] 在BloggingPro China看到了这篇教程的链接同时介绍的还有一篇通过插件实现数据转移的文章,这两种方法解决了大多数WP使用者的数据转移难题,以后想要转移WP的数据不再头痛,特此记下,以备后用。以下内容来自:巧克力工厂。 [...]

  10. wordpress插件之WPexportfor2:以史上最简单的方式实现wordpress blog的自由搬家功能

    May 19th, 2007 at 10:23 am

    10

    [...] 5、不管是换域名,还是不换域名只换空间,甚至空间域名都换,都能够自由搬家; [...]

  11. wordpress插件之WPexportfor2:以史上最简单的方式实现wordpress blog的自由搬家功能 | 博客联盟,致力于帮助博客新手

    June 10th, 2007 at 3:21 pm

    11

    [...] 5、不管是换域名,还是不换域名只换空间,甚至空间域名都换,都能够自由搬家; [...]

  12. 博弈 Just a Game 再次搬家完成 at 博弈 Just a Game

    June 10th, 2007 at 4:16 pm

    12

    [...] 最开始搬家时,选择通过 MyPhpAdmin 将备份数据库导入,并利用FTP软件把空间内部文件下载到本地,并上传到合租空间。但是,迎接我的是全篇乱码,经分析认为,原因如下:一,原空间 MySQL 的默认语言为 latin1 ;二,新旧空间 MySQL 的版本不同。当然,导入方法也有,可以参考这些 文 章。 [...]

  13. Just a Game in 72pines » Blog Archive » 博弈搬家了

    June 10th, 2007 at 6:10 pm

    13

    [...] 当然,导入方法也有,可以参考这些 文 章。 [...]

  14. wordpress migrating dummy tutorial

    July 10th, 2007 at 6:35 pm

    14

    [...] update:更详细的请见:Wordpress 搬家简单教程 [...]

  15. Wordpress 搬家简单教程 - 密码遗失的个人网志 - 关注互联网在线应用服务的博客

    August 21st, 2007 at 5:55 pm

    15

    [...] 在BloggingPro China看到了这篇教程的链接同时介绍的还有一篇通过插件实现数据转移的文章,这两种方法解决了大多数WP使用者的数据转移难题,以后想要转移WP的数据不再头痛,特此记下,以备后用。以下内容来自:巧克力工厂。 [...]

  16. My Habari

    September 23rd, 2007 at 7:16 pm

    16

    [...] update:更详细的请见:Wordpress 搬家简单教程 [...]

  17. Sim Blog » Blog Archive » wordpress插件之WPexportfor2:以史上最简单的方式实现wordpress blog的自由搬家功能

    October 26th, 2007 at 2:43 am

    17

    [...] 5、不管是换域名,还是,甚至空间域名都换,都能够自由搬家; [...]

  18. 酋长呓语 » Blog Archive » 博客搬家教程

    November 5th, 2007 at 12:28 pm

    18

    [...] 博客,在换空间的过程中,最难转移的就是数据了。 这么几次的空间转化,只有这次的博客数据是转换成功的,这也是我博客不断重新写的原因。以前使用ASP博客程序的时候,程序数据一起的,只有备份后通过FTP简单上传就可以了,现在却要程序重新安装,数据导出,修改,导入。 虽然有点麻烦,但在程序的扩展性上,WP确实有别的博客不能比的地方。 今天在看巧克力工厂的博客,从他那里确实能学到不少东西。果然今天在首页又发现了好东西。 博客搬家教程,这个教程要好好的学习一下,因为以后如果博客再搬。那就可以很从容的完成了。 [...]

  19. links for 2007-12-21 » easelab blog

    December 22nd, 2007 at 1:25 am

    19

    [...] Wordpress 搬家简单教程 | 巧克力工厂 (tags: WordPress) [...]

  20. WP-SuperBlog.com » Blog Archive » More Wordpress Blog Resources

    January 20th, 2008 at 11:47 am

    20

    [...] 麦克尔的个人 Blog,是 Web2.0, IT, web, 网络, 软件, 生活等等的大杂烩 … wordpress插件之WPexportfor2:以史上最简单的方式实现wordpress blog的自由搬家功能. May 19th, 2007 at 10:23 am … More Blog Resources [...]

  21. puyox be cool » Blog Archive » 我的Blog搬家了!

    February 9th, 2008 at 8:16 pm

    21
  22. 史上最简单的方式实现wordpress blog的自由搬家功能 | 中国国际劳务信息

    February 13th, 2008 at 5:58 am

    22

    [...] 5、不管是换域名,还是不换域名只换空间,甚至空间域名都换,都能够自由搬家; [...]

  23. Wordpress 搬家简单教程

    February 16th, 2008 at 7:57 am

    23

    [...] 在BloggingPro China看到了这篇教程的链接同时介绍的还有一篇通过插件实现数据转移的文章,这两种方法解决了大多数WP使用者的数据转移难题,以后想要转移WP的数据不再头痛,特此记下,以备后用。以下内容来自:巧克力工厂。 [...]

  24. In the Null Field » 很不完全的网站搬家手册

    April 6th, 2008 at 6:53 am

    24

    [...] 把相关文件全部转到新服务器上的相应文件夹里,少量文件啊需要修改,参考http://bemike.org/blog/2006/12/17/wordpress-migrating-dummy-tutorial.html修改之前保存的SQL数据,和导入数据库。也参考了http://blog.manboo.info/224.htm。 [...]

  25. Web2.0Share News » Blog Archive » Wordpress 搬家简单教程 | 巧克力工厂

    July 31st, 2008 at 11:39 pm

    25

    [...] Wordpress 搬家简单教程 | 巧克力工厂. [...]

  26. Blog搬家记 | 天涯海阁

    August 2nd, 2008 at 2:05 pm

    26

    [...] 这里就列出一些这方面的文献吧:) Wordpress 搬家简单教程 [...]


RSS feed for comments on this post · TrackBack URI

Leave a reply