科技解说
每天一篇好文

WordPress 批量替换旧网址或内容的 Mysql 语句 更换域名

在WordPress程序的使用中,经常遇到新老域名替换等操作,通常我们会操作Mysql数据库来更快更完整的进行全量替换。

在Mysql管理界面执行以下sql语句:

注意:以下代码中的 000000 代表旧的网址, 111111 代表新的网址,都需要改成你自己的。建议操作前备份数据库以防止手残。

比如:你想把老的域名 https://pianwei.com 替换新的域名 https://www.pianwei.com

解释
<span class="pln">update wp_posts </span><span class="kwd">set</span> <span class="str">`post_content`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`post_content`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_posts </span><span class="kwd">set</span> <span class="str">`post_excerpt`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`post_excerpt`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_posts </span><span class="kwd">set</span> <span class="str">`guid`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`guid`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_commentmeta </span><span class="kwd">set</span> <span class="str">`meta_value`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`meta_value`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_comments </span><span class="kwd">set</span> <span class="str">`comment_author_url`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`comment_author_url`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_comments </span><span class="kwd">set</span> <span class="str">`comment_content`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`comment_content`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_postmeta </span><span class="kwd">set</span> <span class="str">`meta_value`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`meta_value`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_usermeta </span><span class="kwd">set</span> <span class="str">`meta_value`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`meta_value`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span><span class="pln">
update wp_users </span><span class="kwd">set</span> <span class="str">`user_url`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`user_url`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span>
update wp_posts set `post_content`=replace(`post_content`,'000000','111111'); update wp_posts set `post_excerpt`=replace(`post_excerpt`,'000000','111111'); update wp_posts set `guid`=replace(`guid`,'000000','111111'); update wp_commentmeta set `meta_value`=replace(`meta_value`,'000000','111111'); update wp_comments set `comment_author_url`=replace(`comment_author_url`,'000000','111111'); update wp_comments set `comment_content`=replace(`comment_content`,'000000','111111'); update wp_postmeta set `meta_value`=replace(`meta_value`,'000000','111111'); update wp_usermeta set `meta_value`=replace(`meta_value`,'000000','111111'); update wp_users set `user_url`=replace(`user_url`,'000000','111111');

PS:此方法并未操作替换 wp_options 表中的数据,因为该表中存在一些非常规字符串的数据类型,所以不建议一次性操作,当然,如果你头铁想试一试,也是可以再执行以下sql语句的。此操作有风险,一些主题或插件的配置可能会失效了。

<span class="pln">update wp_options </span><span class="kwd">set</span> <span class="str">`option_value`</span><span class="pun">=</span><span class="pln">replace</span><span class="pun">(</span><span class="str">`option_value`</span><span class="pun">,</span><span class="str">'000000'</span><span class="pun">,</span><span class="str">'111111'</span><span class="pun">);</span>
update wp_options set `option_value`=replace(`option_value`,'000000','111111');

 

赞(0) 打赏
未经允许不得转载:篇微 » WordPress 批量替换旧网址或内容的 Mysql 语句

评论 抢沙发

评论前必须登录!

立即登录   注册

登录

找回密码

注册