迁移WordPress,从DreamHost到1and1

上个星期就答应小栩,赞助一点空间,给他的Blog,当然也给了他所有的权限,甚至更多,比如把整个帐号都告诉他了(现在弄好了,就要把帐号收回来,只给他FTP权限了)。

他原先使用的是DreamHost的空间,一年到期了,不想支付全价的hosting,就放到我1and1的Linux空间了。

他是使用WordPress的备份插件,来备份整个数据库的,据说可以用PhpMyAdmin来恢复。
可是,开始的时候,怎么也恢复不会去,试了很多次,直到昨天晚上,花了三个小时,终于可以访问了,没有乱码了。

说说其中的问题好了。
1)他备份的数据库不是MySQL 4.0的,所以在1and1下,要建立一个MySQL5.0的数据库,以供使用,否则就不能恢复。

2)建立MySQL5.0数据库后,直接到1and1后台,进入PhpMyAdmin,进入数据库,选择新建的数据库,点击Operations,确认Collation: 是latin1_swedish_ci,然后点击SQL,选择要上传的文件,就是小栩备份的文件,注意Character set选择latin1,这样就恢复备份了。

3)这是看到的还是乱码,找到wp-config.php文件,其中的一个重要参数,也改成latin1。
这样就乱码消失了,显示了正确的中文文字。

4)一个重要的问题,是安装的WordPress是2.3.1版,可是备份的数据库是旧版的,或者是因为这个备份插件是旧的,就按照旧版本的WP数据库结构备份了,那么这里需要升级,直接用/wp-admin/upgrade.php,没有用,这时就需要使用强制升级,这里我参照了官方的FAQ做法。

Under certain situations, it may be necessary to cause a database to pass through the upgrade process again. To do that, you need to lower the db_version value in the wp_options table that corresponds to the version you want to upgrade from. For instance, if you want to force the datebase upgrade that happens from 2.0.11 to 2.3 you would change your db_version to 3441. To force an upgrade from 2.2, 2.2.1, 2.2.2, or 2.2.3 to 2.3 or 2.3.1, change that value to 5183.
修改db_version数字后,就可以强制升级了。

至此,基本完成。其他的插件之类的我就不知道了,让小栩自己完成好了。