WordPress迁移复制站点后修改MySQL数据库的旧域名

yoken 阅读:16 2025-07-23 00:02:25 评论:0

当我们将一个WordPress网站复制后,复制后的数据库依然残留了旧站的域名,此时我们需要将这些旧域名替换为新域名,这里介绍两种方法:

方法1:进入服务器控制面板比如宝塔面板的PHPmyadmin工具,找到数据库的SQL栏目,执行如下命令:

UPDATE wp_options SET option_value = replace(option_value, '旧域名', '新域名') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, '旧域名','新域名');
UPDATE wp_posts SET post_content = replace(post_content, '旧域名', '新域名');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'旧域名','新域名');


方法2:如果没有安装PHPmyadmin工具,也可以通过SSH客户端连接到服务器,按照下面的命令执行SQL语句:

//登录MySQL,执行后输入数据库的密码
mysql -u root -p

//显示所有的数据库
show databases;

//选择要执行的数据库
use database_name;

//执行SQL语句
UPDATE wp_options SET option_value = replace(option_value, '旧域名', '新域名') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, '旧域名','新域名');
UPDATE wp_posts SET post_content = replace(post_content, '旧域名', '新域名');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'旧域名','新域名');

//退出数据库
exit;

备注:
请将上面SQL语句里面的数据库表前缀修改为现有数据库的前缀;
请将上面SQL语句里面的【旧域名】和【新域名】替换为自己的域名;

案例记载:

有一次使用上面的命令导入数据库时,数据库报错:

Error
SQL query: Copy

UPDATE bbi_posts SET guid = replace(guid, 'http://a.com','https://b.com')
MySQL said: Documentation

#1406 - Data too long for column 'guid' at row 6550

报错原因:在 guid 字段中插入的数据超出了该字段的最大长度限制,解决办法如下:

UPDATE bbi_posts
SET guid = REPLACE(guid, 'http://a.com','https://b.com')
WHERE LENGTH(guid) + LENGTH('https://b.com') - LENGTH('http://a.com') <= 255;


转载保留链接!网址:https://80920140.com/post/1159.html

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容