当我们将一个WordPress网站复制后,复制后的数据库依然残留了旧站的域名,此时我们需要将这些旧域名替换为新域名,这里介绍两种方法:方法1:进入服务器控制面板比如宝塔面板的PHPmyadmin工具,找到数据库的SQL栏目,执行命令如下:…

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

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,执行SQL语句。

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

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

//选择要执行的数据库
使用数据库名称;

//执行 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,'旧域名','新域名');

//退出数据库
退出数据库

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

案例记载:

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

错误
SQL 查询:复制

UPDATE bbi_posts SET guid = replace(guid, 'http://a.com','https://b.com')
MySQL 说:文档

#1406 - 第 6550 行 "guid "列的数据过长

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

更新 bbi_posts
SET guid = REPLACE(guid, 'http://a.com','https://b.com')
WHERE LENGTH(guid) + LENGTH('https://b.com') - LENGTH('http://a.com') <= 255;
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。