WordPress迁移复制站点后修改MySQL数据库的旧域名
当我们将一个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.作者投稿可能会经我们编辑修改或补充。
