赞
踩
之前在思考如何做WordPress迁移时,在认知方向上有误。看到很多博客答案是使用第三方工具一键迁移,这些工具可能需要付费,或者是某个管理平台上的功能,而我搭建WordPress时纯粹是使用命令行搭建。
后来通过调研、分析,了解到博客迁移无非是做好数据备份,然后将这些数据上传到一个新的原始WordPress站点。一共要做两个备份,一个是数据库的备份,另一个是wordpress目录下wp-content目录的备份。前者存储了我们编辑上传的所有内容数据,包括文章、页面、评论、自定义字段、条目信息(分类和标签等)、导航菜单、自定义文章以及我们的用户信息。后者存储了我们的主题、插件等信息。
博客迁移要做的任务是将原博客的wp-content目录和数据库备份下来,在新的原始WordPress站点中,覆盖掉wp-content目录和数据库,相当于上传数据,然后修改配置文件,链接到新的域名。
这里推荐一个方案,其中使用了phpMyAdmin做数据库备份:WordPress 托管
本文也是从中得到灵感,但是依然尽量使用了命令行方式做迁移。
在进行迁移之前,确保新的原始WordPress站点已经成功运行,可以参考:WordPress搭建个人博客
文章使用的Linux环境为CentOS7
使用文件传输工具,比如xftp,直接将原来的WordPress网站根目录下的wp-content下载到本地
但是wp-content目录下可能会有很多文件,尽管文件并不大,但与文件建立下载请求也会大大增加下载时间。所以可以先打成一个压缩包再下载
到达wordpress目录(不同的安装方法路径会有所不同,这里不举例了):
zip -r wp-content.zip wp-content
如果没有xftp又不想安装,可以将代码上传到GitHub或码云,再下载到本地,速度也不差。
/usr/local/mysql/bin/mysqldump -u root -p wordpress > ~/wordpress.sql
/usr/local/mysql/bin/ :mysql安装目录
-u root -p : mysql管理员名称,需要登录mysql
wordpress:需要备份的数据库名称
~/wordpress.sql:输出的sql文件存放路径
然后将此文件下载到本地
将下载好的wp-content.zip目录上传到新的wordpress目录
删除原来的wp-content目录:
rm -rf wp-content
解压wp-content.zip
unzip wp-content.zip
解压后wp-content.zip文件可以删掉
清空原来的wordpress数据库
最简单的方法是将数据库删除,再新建一个名称相同的数据库
mysql -u root -p
show databases;
drop database wordpress;
create database wordpress;
也可以执行语句,将表一个个删除:
drop table if exists 表名;
上传sql文件
导入sql文件
mysql -u root -p
use wordpress;
source ~/wordpress.sql;
show tables;
~/wordpress.sql :sql文件路径
修改wordpress目录下的wp-config.php文件
$table_prefix = 'wp_'; // 我们导入数据库时使用的前缀,默认wp_。可以在导入数据库步骤中更改所有表的前缀,然后这里的值跟更改值需要保持一致
define( 'WP_SITEURL', '新的域名'); // 比如http://new.com
define( 'WP_HOME', '新的域名' );
至此,备份工作已经完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。