2007-05-15, Tuesday - 10:38pm

使用备份恢复WordPress数据库

博客记录 Leave A Comment

购买的hostmonster空间上有几个朋友的Blog,由于HOST是PHP+mySQL环境,“强迫”他们放弃了PJblog[ASP环境],安装了Wordpress,面对WP强大的功能、丰富的扩展、持续的维护,相信他们不会后悔,同时会慢慢明白俺的良苦用心。

在昨天购买HM的独立IP,以及更换PHP版本后,本以为可以放松一会儿了,谁知道又出现情况。一个Wordpress Database丢失,不知道被谁误操作删除。幸亏在帮他们安装Wordpress时,已经顺手帮他们安装了"Wordpress Database Backup"插件[下载地址]。每天进行备份数据库到邮箱。使用备份的数据库,可以完全回复数据库到前一天的状态。这不,我的活儿又来了。

恢复过程通过HostMonster控制台自带的phpMyAdmin进行。为避免出现乱码,操作过程,参考了时光漫步桑林志夜工厂的文档,其中,推荐“时光漫步”的文档,图文并茂,简单易懂。

完成导入后,主页却还是显示为乱码——本应出现中文字的被“???”代替。对照导入步骤多次执行,问题依旧,真是恨得我咬牙切齿的。突然发现,虽然我已经修改数据库collation为utf8_genneral_ci,但是查看phpMyAdmin中对应数据库的结构(Structure),发现导入的每个table的collation属性还是latin1_swedish_ci【一般国外主机默认的collation】。

经验证,发现是出现了一个低级错误,WordPress Database Backup的备份文件,默认生成格式为所其在数据库的collation,在导出的文中体现为“CHARSET=latin1”。

解决方法:打开备份文档,选用替换选项,把所有“CHARSET=latin1”替换为“CHARSET=utf8”。注意,文件中不止包含一个“CHARSET=latin1”,应该都替换掉。

下面为恢复数据库方法摘要:

  1. 进入phpMyAdmin界面,打开相应的数据库,点右上角的Operations
  2. 在出现的页面下找到Collation,改为utf8_general_ci,Go确认
  3. 点上面菜单Import:确认Character 是utf8。导入数据库文件。【一方面在导入时,应该选择UTF8选项,另一方面则应注意,数据库备份文件中Charset的格式,参照上面方法进行修改。】
  4. 编辑/wp-includes/wp-db.php文件。在“$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);”后面添加“ $this->query(”SET NAMES ‘utf8’”);” 语句【请手动添加,复制会产生大小写错误】。
  5. 整网站的链接。【由于是从同一WP backup中恢复,不存在此类情况,如有需要,请参阅时光漫步blog

完成上述步骤,网页显示正常。嘿,哥们,下次记得把俺的工钱带来

Creative Commons License
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 China Mainland License.

6 Responses - “使用备份恢复WordPress数据库”

  1. GRCisca

    2007-05-16 - 8:27 am  :

    1

    为什么TB 不显示?

  2. GR博弈 Just a Game

    2007-05-16 - 8:51 am  :

    2

    购买hostmonster主机独立IP...

    考试完毕后,终于有时间建立一下独立博客,并购买了国外主机空间。主机挑选了Hostmonster主机,美国境内的主机,但据说已经对大陆地区的网络做过优化。通过使用,页面打开速度,上传下....

  3. GRCisca

    2007-05-17 - 12:53 pm  :

    3

    这是一个测试,不是spam谢谢

  4. GRCisca

    2007-05-17 - 12:54 pm  :

    4

    回复Comment

  5. GRCisca

    2007-06-04 - 8:15 am  :

    5

    试试live comment

  6. GRcisca  [Blog Author]

    2007-06-04 - 8:16 am  :

    6

    IE浏览器下的LIve Commnet测试

Leave A Response

Comment Feed     Trackback URI