因为之前无意间搜索到Amazon EC2主机免费一年的消息,其实是旧闻了,于是就萌生了想把以前一直维护的的部落格搬家恢复过来的想法。
显然是已经成功了,中间有几个心得和一些想法,记录一下。
首先记录一下WP的原理,实际上核心就是MySQL数据库,其中存储了WP的各种文章,评论,链接,设置等各种数据,基本上只要有一个这样的数据库,就能把整个部落格搬家到任意地方。而我们访问到的固定链接实际上都是WP实时生成的,来源于数据库中的程序,所以说,部落格程序可以升级,数据库在,数据就在。
幸好以前有备份的习惯,备份了写过的所有数据,但是只有数据库,不过也够了,大不了重新部署WP程序,然后恢复数据库过去。有了这个想法,就开始实施了,首先是搭建了了一个空的部落格,生成一个数据库看了一下MySQL数据库内的结构。
然后重新在phpMyAdmin中新建一个数据库,将老数据库的数据导入进去,具体方式如下
1.SSH到主机上,然后通过命令新建数据库
create database 这里是您的数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
2.对该数据库新建用户,并给与访问权限,同样是SSH到主机内(当然用phpMyAdmin直接给权限也可)
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON 您的数据库名.* TO <your-wordpress-user-name>@localhost IDENTIFIED BY ‘<your-wordpress-mysql-passwords>’;
3.然后进入phpMyAdmin导入以前的备份数据
这里载入文件之后,点击页面下方的执行即可导入,如果是新版的那也就完成了,但是我遇到了问题,因为我的MySQL数据库是2009年的数据,当时版本非常老,到现在已经有大幅度的更新了,所已生成的数据结构也有所不同,虽然大体的数据都没问题,但仍然会导致失败,具体失败的提示如下
#1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 26
具体是怎么搜索出来的答案就不细说了,说一下原因,跟刚刚一样,因为数据库版本不同导致MySQL文件导入新版失败,具体解决办法很简单,将提示中的“TYPE=MyISAM”全部在数据库中干掉就行了。用txt打开sql文件,然后搜索替换成空就好。
4.再次导入SQL数据库成功,这里因为我的数据库有3M多,在部落格里算还是比较大的了,大概花了5分钟才导入完成。
5.修改数据库中的老链接为新域名,因为之前提到过包括WP的所有文章和链接都在数据库内,如果不更新域名的话,根本连主页都无法访问的,具体方法如下
请参考这个链接:http://www.chinaz.com/web/2012/0903/272432.shtml
6.总之一旦成功,就在WP文件夹中删掉wp-config.php文件,然后重新链接新数据库,进到博客里做最后的工作!