wordpress重装记
Posted by 英飞凌 | Filed under 技术志
前些日子blog出现问题,表现为日志发布时经常变成该页无法显示或者超时,不过多试几次倒也可以发出去,就没在意,直到有一天,怎么都发不出去了,那篇日志就停在草稿箱里,怎么也出不去。
由于我假设在同一空间的另一个blog,Vision Zine的日志发布是正常的,所以我推断是我这个blog的wordpress出了问题,大约是用久了,经过几次自动升级,所以乱七八糟东西多了,于是就想把它重装一下,然后烦人的事情就开始了。其实我从来没有重装过wordpress,对mysql和php也没有什么了解,说重装就重装,实在是鲁莽了一点
我在phpmyadmin里把wordpress的数据库导出,然后删除了原有的数据库,我注意到原有的数据库编码并不是utf8,而是latin1,但是当时我并没有很在意这个问题。因为数据库已经导出,我删掉了原有的数据库,然后把原来blog的文件夹改名,新建一个blog文件夹,用dreamhost的one-click install把wordpress 2.5重新安装了一遍,然后把数据倒回。发现不知为什么,wordpress不认我的那些表,去看了一下wp-config才发现,莫名其妙表的前缀都被加了一串随机的字符,原本都是wp_开头,现在都成了wp_510ve_,或者wp_830dk_这种稀奇古怪的前缀,而且每次都如此,也不知道是不是dh的原因。于是改回来,再登录,表是都认了,但是一片乱码,更要命的是登陆后台根本看不见界面,登陆以后页面上只有三行错误信息而已。
肯定是数据库读取出问题了,只好去找解决方法,发现要从latin1转为utf8的确是个麻烦事,试了不少的办法,包括改sql文件,然后导入utf8数据库再倒出,还有用emeditor打开另存之类,但是都不行,前些天在hellobmw看见有一篇文章也提到乱码的问题,不过我当时没怎么细看,现在碰上问题了跑回去看,才发现原来已经还原不回去了,原有的数据库又已经被我删了,想想该怎么办呢……难道我就这样把之前所有的日志都变成乱码了么。突然想起来我是在3月30号用wordpress automatic update升级的wordpress 2.5,这个东西会自己备份数据库的,于是找到了3月30号的数据库,用editplus打开一看,中文都好好的,于是按照hellobmw上的方法把数据库倒了回去,重新把blog恢复了起来。
但是这样一来四月份的日志还是都没有了。这个时候我终于意识到我当初把这个blog的日志导入校内网是一件多么英明的事情,而且我在重装之前还特意去校内网上手动更新了一下导入的feed,于是去校内,把4月份的日志都找了回来,blog终于顺利重获新生,并且没有损失数据。