复杂的Blog升级之路
一 8th, 2009 by geng
03年开始,我就采用Blog方式记录我的工作笔记,因为当时没有那么多的Blog程序可供选择,在试用了几个程序后,就选择了崇尚 “简约主义”的 B2,这个程序也就是WordPress的前生。因为B2够简单,所以我之后一直没有想到要更换,而且因为工作原因,里面记录了很多可能被当成 “公司机密” 的东西,在外网放了一段时间后,就改在我的 127.0.0.1 上运行。
07年10月我从原公司辞职,我Blog里的东西在冰冻封存1年后,我觉得应该发布出来,或许对一些朋友有些帮助。
下面记录了我的Blog升级步骤:
1、先从B2升到WordPress 1.5.2,因为里面有个 /wp-admin/import-b2.php 脚本,而从 2.0 开始,就只有一个 /wp-admin/import/b2.php 的0字节文件了。
也有人为 Wordpress 2.0.2 开发了迁移程序,看 这里 还有 这里 ,将 代码 下下来后,按步骤做就可以完成迁移了。
2、在 WordPress 1.5.2 里头,将数据库导出,并将内容编码由 GB2312 改成 UTF-8 。
mysqldump -u root -p wordpress > wpgb.sql –default-character-set=latin1
wpgb.sql 文件里存放的就是GB2312编码的数据了,先转换成UTF-8编码:
piconv -f gb2312 -t utf8 wpgb.sql > wputf8.sql (转码工具也可以用 Notpad++)
3、使用文本编辑器打开 wputf8.sql ,将其中的 DEFAULT CHARSET=latin1 改成 DEFAULT CHARSET=utf8 并保存。
4、在phpMyadmin 里删除原先的数据库并重新创建 utf8_general_ci 编码的数据库 wordpress ,然后再将转好码的数据库备份导入。
CREATE DATABASE `wordpress` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ; (使用utf8_general_ci比utf8_unicode-ci速度更快)
mysql -u root -p wordpress < wputf8.sql –default-character-set=utf8
5、上传最新的WordPress代码到原先的WEB目录,修改 wp-includes/wp-db.php 內的数据库连接参数:
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
//加上下面这行
$this->query(”SET NAMES ‘utf8′” );
6、最后使用 /wp-admin/upgrade.php 这个脚本自动更改数据库结构等操作,更新结束后就大功告成了。