前言:最近帮同事迁移wordpress博客站点。整理一下迁移步骤,以作备忘。
首先备份旧的博客数据:
mysql备份:
./mysqldump -uroot -p wordpress > ./wordpress.dump
数据库名为wordpress
备份wordpress主题、插件、文件等
目录如下:
wordpress/wp-content/themes
wordpress/wp-content/uploads
wordpress/wp-content/plugins
1.在新机器部署wordpress
参考我之前写的文章:
https://blog.csdn.net/hechaojie_com/article/details/83480124
部署完成之后wordpress会自动创建数据库,此时数据库是空,里面没有表
2.将mysql备份的dump文件导入到新创建的数据库
mysql -uroot -p wordpress < wordpress.dump
这里我们的数据库名为wordpress
3.复制主题、插件、文件等
cp -rf bak/wordpress/wp-content/themes/* wordpress/wp-content/themes/
cp -rf bak/wordpress/wp-content/uploads wordpress/wp-content/
cp -rf bak/wordpress/wp-content/plugins/* wordpress/wp-content/plugins/
注:复制完后即可将权限修改为wordpress的账号,否则会出现安装插件权限错误等,我已经采坑了
chown -R www-data:www-data wordpress/wp-content/themes/
chown -R www-data:www-data wordpress/wp-content/uploads/
chown -R www-data:www-data wordpress/wp-content/plugins/
4.访问首页,发现已经迁移成功了
5.更换新域名
如果迁移之后的域名也会变化,此时访问会出现某些资源路径错误。需要修改数据库中的域名
UPDATE wp_options SET option_value = replace(option_value,'old.com', 'new.com') ;
UPDATE wp_posts SET post_content = replace(post_content,'old.com', 'new.com') ;
UPDATE wp_comments SET comment_content = replace(comment_content, 'old.com', 'new.com') ;
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'old.com', 'new.com') ;
UPDATE wp_posts SET post_content = replace(post_content, 'old.com', 'new.com') ;
此外:
wp_options表中的siteurl和home记录的域名也要随之更改
完成后,理论上就可以用新的域名访问了