前两天的一篇博文介绍如何使用All-in-One WP Migration完成wordpress站点迁移。相对于数据库备份、文件备份的方式,采用插件最大的好处是方便、一键完成,同时避免了由于误操作导致的数据损坏。
在使用文件及插件两种方法备份之后,趁着阿里云还有一个月的使用期,作死尝试了一次大牛们常用的直接操作数据库进行迁站的操作。下面还是按照操作顺序列一下要点:
- 安装lnmp、ftp、域名解析、nginx vhost配置同前
- 打包转移wordpress网站目录,即通过ftp或其他方式将网站根目录进行复制
- 通过phpmyadmin导出、导入wordpress数据库
- 新建数据库账户,如果和之前的不相同需要修改wp-config.php文件
- 如果站点名称发生改变,例如改为用于测试的www.sy2k.com则需要修改数据库表项”wp_options”中的”siteurl” 和 “home”值。如果在建立wordpress使用了其他前缀,“wp_options”可能为“XX_options”。
更为彻底的改变所有连接地址可以在wordpress数据库下,运行SQL查询,输入下面的命令,并点击执行即可。
UPDATE wp_options SET option_value = replace(option_value, ‘www.mydomain.com’,’www.newdomain.com’) ;
UPDATE wp_posts SET post_content = replace(post_content, ‘www.mydomain.com’,’www.newdomain.com’) ;
UPDATE wp_comments SET comment_content = replace(comment_content, ‘www.mydomain.com’, ‘www.newdomain.com’) ;
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, ‘www.mydomain.com’, ‘www.newdomain.com’) ;
其中,“www.mydomain.com”是之前的网站地址、 “www.newdomain.com”是修改后的网站地址,“wp_comments”是数据表项,如果修改过前缀可能是“XX_options”。
参考网站:
http://wpchina.org/how-to-change-wordpress-domain-prefectly-1528/ - 设置ftp目录并改为WWW所有者
- 在php.ini中修改允许scandir
PS:如果你设置了任何的rewrites (永久链接),你需要禁用 .htaccess , 成功设置后再重新配置永久链接。
PS2:我在网站目录打包转移的过程中出现了中文文件名乱码的情况,使用ftp转移则一切正常。表现为文件名包含中文的图片无法显示。
{ 本文链接: https://www.sy2k.com/2017/%e9%80%9a%e8%bf%87%e5%a4%8d%e5%88%b6%e6%96%87%e4%bb%b6%e6%95%b0%e6%8d%ae%e5%ba%93%e6%96%b9%e5%bc%8f%e8%bf%9b%e8%a1%8cwordpress%e8%bf%81%e7%ab%99/;
原创文章, 转载请保留. 转载自 https://www.sy2k.com }
Alex
"https://www.ti.com/lit/an/snva674c/snva674c.pdf?ts=1652849358654 "
小A
"可以教一下吗? "
chris
"ATTACH DATABASE “decrypted_database.db” AS decrypted_database KEY “”; 运行这个的时候报错 Error: file is encrypted or is not ..."
江湖李某
"楼主大神,女朋友不小心删了我的记录,我自己全部记录都在,有没有什么办法将Backup文件内容修改之后,通过备份与恢复的形式转移到她的手机上呢?求指点🥺 "
匿名
"兄弟我的鼠标光标移动有问题时是不是也是这个问题 "