立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 1110|回复: 0

[Wordpress 通用教程] WordPress网站搬家、数据库升级的方法

[复制链接]
发表于 2023-12-1 19:31:46 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net

您需要 登录 才可以下载或查看,没有账号?立即注册

x
wordpress网站搬家除了要把wp-content的文件转移之外,如果碰到数据库设置的变更,就比较麻烦了。在旧空间上,我们的WP是每个站独享一个数据库;在新的主机上由于权限的限制,好几个网站都必须共享一个数据库。解决思路是要在新的空间里给每个WP网站设置不同的prefix,思路很简单,但实际操作的时候还是碰到了不少问题。
第1步 备份wp-content文件夹
先把每个旧网站的wp-content文件夹下载下来,分别上传到新主机每个WP网站对应的wp-content。wp-content文件夹包含了所有的插件(plugins文件夹)、主题(themes)以及附件(uploads)。搬家时为了节约时间和服务器空间,用不到的插件和主题都可以不用搬。
第2步 导出旧网站的数据库
这里有一个比较简单方法,用插件。这次我选的WP数据库插件是BackWPup,这款插件有一个一件导出数据库的功能,可以把当前WP网站的数据库直接导出到sql文件。
01.png
ackWPup的功能其实不止于此,这个插件也稍微有点庞大,不过这次我们就用到这一点,而且只装在旧网站上,新网站不用装,所以不用担心会拖慢速度。
第3步 导入数据库到新的网站上
由于新的空间权限实在有限,我所得到的只有单个数据库的用户名和密码,没有root帐号,也没有更多权限。查了一下WP也没有合适的导入数据库插件,而且由于域名变了,就算能直接导入数据会造成网站无法访问。所以要先给新的空间安装一个PHPMyAdmin,可以让我直接操作到数据库。先去官网下载PHPMyAdmin。下载完毕后解压,打开config.inc.php,找到并且修改以下几个变量:
  1. $cfg['Servers'][$i]['host'] = 'domain'; //填入新数据库的URL,对应WP的wp_config.php中的define('DB_HOST', 'domain');
  2. $cfg['Servers'][$i]['auth_type'] = 'cookie'; //确认认证方式为cookie
  3. $cfg['UploadDir'] = 'ImportSQLFile'; //如果没有服务器权限,这行必须设置,否则超过8M的数据库你就不能导入了
  4. $cfg['SaveDir'] = 'ExportSQLFile'; //顺便设置一下导出的数据库存放目录
复制代码
设置完这几个变量后,把PHPMyAdmin目录整体上传;上传完毕后再在PHPMyAdmin里建立ImportSQLFile和ExportSQLFile两个空文件夹;
把第2步导出的sql文件上传到新建的ImportSQLFile文件夹中;
通过浏览器登录PHPMyAdmin,输入用户名密码,点开要导入的数据库-import,找到如下选项,导入刚刚上传的数据库:
02.png
数据库导入完毕后,刷新页面,就可以看到已经导入的表了。这些表的前缀(prefix)全都是WP默认的“wp_”,由于在这个数据库中我还要放很多个其他WP网站,所以必须给他们修改前缀,用以区分网站。在Structure中给这些表都打勾,然后选“replace table prefix”,修改完毕后再刷新页面,这些表的前缀就修改完毕(用不着一个一个的重命名)。
修改完表名后,还要给数据库执行一遍以下命令,用来刷新表内数据的的prefix相关内容:
  1. //为以防万一,建议先备份数据库
  2. UPDATE `prefix_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'wp_', 'prefix_' );
  3. UPDATE `prefix_options` SET `option_name` = 'prefix_user_roles' WHERE `option_name` ='wp_user_roles';
  4. //注意要替换这两行命令中所有的prefix_为你的实际的前缀
复制代码
如果不执行这两句SQL命令,登录WP后台会出现这样的提示:You do not have sufficient permissions to access this page.
03.png
第4步 修改域名
如果新网站的域名和旧网站不同,还需要再登录PHPMyAdmin,找到prefix_opition表(注意前缀是前面修改过的),打开这张表,编辑siteurl和home这两条数据的option_value为新的WP的URL
或者直接执行这两条SQL也可以:
  1. UPDATE `prefix_options` SET `option_value` = 'url' WHERE `option_name` ='siteurl';
  2. UPDATE `prefix_options` SET `option_value` = 'url' WHERE `option_name` ='home';
  3. //注意要替换这两行命令中所有的prefix_为你的实际的前缀,替换url为新网站的实际url(加http://)
复制代码
如果新网站的域名和旧网站相同,则要去域名的控制面板修改DNS到新主机的IP,在主机控制面板加入绑定的域名,等上10分钟,一般就跳转完成了。
第5步 修改所有文章和变量中存在的旧域名(可选)
如果网站旧域名保留的话,这一步可以不做。但如果旧的域名失效,这一步就不能跳过了。运行SQL:
  1. UPDATE `prefix_postmeta` SET `meta_value` = REPLACE( `meta_value` , 'oldURL', 'newURL' );
  2. UPDATE `prefix_posts` SET `guid` = REPLACE( `guid` , 'oldURL', 'newURL' );
  3. UPDATE `prefix_posts` SET `post_content` = REPLACE( `post_content` , 'oldURL', 'newURL' );
  4. UPDATE `prefix_options` SET `option_value` = REPLACE( `option_value` , 'oldURL', 'newURL' );
  5. UPDATE `prefix_termmeta` SET `meta_value` = REPLACE( `meta_value` , 'oldURL', 'newURL' );
  6. UPDATE `prefix_usermeta` SET `meta_value` = REPLACE( `meta_value` , 'oldURL', 'newURL' );
  7. //注意要替换这两行命令中所有的prefix_为你的实际的前缀,替换oldURL/newURL为旧/新的域名。
复制代码
2017/7/23更新:
在最近一次搬运网站文件到新服务器的过程中,我偷懒没有新建FTP用户,而是在FTP工具内直接用SSH登录方式上传了所有网站文件。结果发现WordPress后台无法升级插件,也无法上传任何文件,权限出了问题。在搜索了一圈后,原来用SSH上传的文件,并不属于www用户组,因此就没有办法通过网站去修改、上传文件。在putty中执行以下命令解决了问题:
  1. chown -R www:www /网站路径/
复制代码
2022/2/19更新
如果你使用Yoast seo插件,在数据库里会留下大量带有旧站URL的字段,需要批量转换一下:
  1. UPDATE `prefix_yoast_indexable` SET `permalink` = REPLACE( `permalink` , 'oldurl', 'newurl' );
  2. UPDATE `prefix_yoast_indexable` SET `twitter_image` = REPLACE( `twitter_image` , 'oldurl', 'newurl' );
  3. UPDATE `prefix_yoast_indexable` SET `open_graph_image` = REPLACE( `open_graph_image` , 'oldurl', 'newurl' );
  4. UPDATE `prefix_yoast_indexable` SET `open_graph_image_meta` = REPLACE( `open_graph_image_meta` , 'oldurl', 'newurl' );
  5. UPDATE `prefix_yoast_seo_links` SET `url` = REPLACE( `url` , 'oldurl', 'newurl' );
复制代码
如果你用了WPML多语言插件,在前端的CSS引用地址也不会随着站点URL的更新而刷新,需要到后台的 WPML-语言-自定义语言切换器 位置重新点击保存一下,前端样式表才会更新为新的地址。
055.png
这样就可以了





道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程 ( 皖ICP备15000319号-1 )

GMT+8, 2024-12-23 23:00

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回复 返回顶部 返回列表