惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Scott Helme
Scott Helme
Know Your Adversary
Know Your Adversary
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
小众软件
小众软件
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
AI
AI
美团技术团队
人人都是产品经理
人人都是产品经理
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
宝玉的分享
宝玉的分享
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
大猫的无限游戏
大猫的无限游戏
Google Online Security Blog
Google Online Security Blog
L
LINUX DO - 最新话题
罗磊的独立博客
Recent Announcements
Recent Announcements
H
Hacker News: Front Page
博客园 - 【当耐特】
K
Kaspersky official blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
F
Full Disclosure
Google DeepMind News
Google DeepMind News
V
V2EX
博客园 - 聂微东
量子位
云风的 BLOG
云风的 BLOG
C
Check Point Blog
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
W
WeLiveSecurity
Engineering at Meta
Engineering at Meta
V2EX - 技术
V2EX - 技术
Vercel News
Vercel News
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
The GitHub Blog
The GitHub Blog

执迷者X

在深圳,一个人如何浪费他的5小时 - 执迷者X 性能分析 - 执迷者X 世界,您好! - 执迷者X WordPress 迁移实战(下)——缩略图丢失的完整修复流程 - 执迷者X Vibe Coding 做高交互动效站(下) —— 动效站的实现与调试 SOP 端午碎念 – 无法缓和神经的3天 - 执迷者X 端午碎念 – 无法缓和神经的3天 - 执迷者X Vibe Coding 做高交互动效站(上) —— 提示词与素材准备 屈原故里长大的我,从龙舟赛看乡土中国 - 执迷者X 屈原故里长大的我,从龙舟赛看乡土中国 - 执迷者X 使用 OpenClaw 半个月,它在我的电脑上干了什么? - 执迷者X 使用 OpenClaw 半个月,它在我的电脑上干了什么? - 执迷者X AI随笔:用 OpenClaw 批量做了 70 条抖音视频 AI随笔:用 OpenClaw 批量做了 70 条抖音视频 思考:AI如何让「提效」变成「耗能」——熵增思考 - 执迷者X 思考:AI如何让「提效」变成「耗能」——熵增思考 - 执迷者X 用 Excel + 高德 API 做选址POI简单处理,翻车的概率有多大? 用 Excel + 高德 API 做选址POI简单处理,翻车的概率有多大? 连锁品牌在高线城市加密布局思路 2026笔记 - 执迷者X 连锁品牌在高线城市加密布局思路 2026笔记 - 执迷者X AI 时代,你的个人网站只差这最后一步(附 618 大厂抄底清单) - 执迷者X AI 时代,你的个人网站只差这最后一步(附 618 大厂抄底清单) - 执迷者X Windows彻底重装 OpenClaw 教程:告别本地模型,接入 DeepSeek API OpenClaw 部署实战:从本地推理瓶颈到云端混合架构的演进 - 执迷者X WordPress 作者头像不显示?Myclaw 用户 Gravatar 配置全流程 个人安装 Claude Code 和 OpenClaw 全记录 VS Code + Claude Code + DeepSeek 三件套,打造最强 Vibe Coding 开发环境 当「智能」成为新的牢笼:我们是如何在AI时代迷路的 - 执迷者X 新租赁准则下 ROU 资产怎么算?一文读懂 - 执迷者X 本站原创歌曲《执迷者》歌词 - 执迷者X 又是一个星夜兼程的周末,5月底 - 执迷者X 扣子助手一键生成博客元信息,自动填进WordPress - 执迷者X 解决 EdgeOne 缓存同步文章延迟问题 - 执迷者X 520 量化日记|平台掣肘,转向Python本地回测 - 执迷者X 日记:2026年的520,周三,夜 - 执迷者X 市场洞察:深圳核心区咖啡布局思路与竞争突围分析 - 执迷者X 黄仁勋 2026年 最新演讲:AI 不会淘汰你,但 “会用 AI” 的人会 笔记:新手尝试制作小程序 -基于网页PHP - 执迷者X AI规划:5月21日·周三 待办清单 - 执迷者X
WordPress 迁移实战(上)——数据库精细化迁移策略与数据恢复 - 执迷者X
Myclaw · 2026-06-22 · via 执迷者X

前言

最近把博客从旧服务器迁移到新环境,没有选择直接 mysqldump 整库迁移(旧库里有大量垃圾数据和乱码),而是选择了”干净导入 + 手动补数据”的方式。这篇文章是上篇,记录迁移策略的选择,以及浏览量、菜单、主题设置等数据的恢复过程。

WordPress 迁移实战(上)——数据库精细化迁移策略与数据恢复

一、为什么不直接导整个数据库

直接 mysqldump 整库迁移是最省事的方式,但有几个问题:

  • 旧库里积累了大量插件残留数据、垃圾 option 记录,迁移过去一并带入
  • 部分表存在乱码,整库导入会把问题一起复制过来
  • 想借这次机会做一次”清洁迁移”,只保留真正需要的数据
WordPress 迁移实战(上)——数据库精细化迁移策略与数据恢复

最终选择的策略:

步骤 操作
1 用 WordPress 官方工具(WXR)导出文章、页面、评论、媒体
2 新站安装好主题和插件后导入 WXR
3 用 SQL 手动补回 WXR 不包含的数据

二、哪些数据 WXR 不会导出

WordPress 的 WXR 导出工具覆盖了文章、页面、评论、分类、标签,但以下数据不在 WXR 范围内:

数据 存储位置 是否需要手动迁移
文章浏览量 wp_postmeta(meta_key=’views’)
主题设置 wp_options(puock_options)
友情链接 wp_links
导航菜单 wp_terms + wp_term_relationships 单独导出 WXR 可包含

三、浏览量迁移

存储机制

Puock 主题把每篇文章的浏览量存在 wp_postmeta 表里:

-- 查看某篇文章的浏览量
SELECT meta_value FROM wp_postmeta
WHERE post_id = 123 AND meta_key = 'views';

-- 网站总浏览量 = 所有文章 views 的加总
SELECT SUM(meta_value) FROM wp_postmeta WHERE meta_key = 'views';
WordPress 迁移实战(上)——数据库精细化迁移策略与数据恢复

跨库迁移(两个数据库在同一台服务器)

用 root 账号登录 phpMyAdmin,执行跨库查询:

-- 预览:旧站浏览量数据
SELECT old_p.post_name, old_pm.meta_value AS views
FROM `旧`.wp_postmeta old_pm
JOIN `旧`.wp_posts old_p ON old_p.ID = old_pm.post_id
WHERE old_pm.meta_key = 'views'
AND old_p.post_status = 'publish';

-- 写入新站(按 slug 匹配)
INSERT INTO lifetruth.wp_postmeta (post_id, meta_key, meta_value)
SELECT new_p.ID, 'views', old_pm.meta_value
FROM `旧`.wp_postmeta old_pm
JOIN `旧`.wp_posts old_p ON old_p.ID = old_pm.post_id
JOIN lifetruth.wp_posts new_p ON new_p.post_name = old_p.post_name
WHERE old_pm.meta_key = 'views'
AND old_p.post_status = 'publish';

注意: 旧数据库名是中文时,必须用反引号包裹(`旧`)。跨库查询需要 MySQL root 权限,普通数据库用户没有权限访问其他数据库。

四、导航菜单迁移

WordPress 菜单存储在 wp_termswp_term_taxonomywp_term_relationships 表中,菜单项本身是 post_type = 'nav_menu_item' 的文章。

最简单的方式:在旧站 工具 → 导出,内容类型选”导航菜单”,单独导出一个 WXR 文件,在新站导入即可。

五、主题设置迁移

Puock 主题的所有设置(外观配置、Gravatar 源、缩略图白名单等)存储在 wp_options 表的 puock_options 字段里:

-- 旧站导出主题设置
SELECT option_value FROM wp_options WHERE option_name = 'puock_options';

-- 新站写入
UPDATE wp_options
SET option_value = '(粘贴旧站导出的 JSON 内容)'
WHERE option_name = 'puock_options';

六、phpMyAdmin 操作要点

  • 跨库查询必须用 root 登录:宝塔面板 → 数据库 → root 密码,用 root 账号登录 phpMyAdmin
  • 选中目标数据库:登录后在左侧点击目标数据库,或在 SQL 前加 USE lifetruth;
  • 中文数据库名用反引号`旧` 而不是

总结

WXR 适合迁移内容,不适合迁移配置和统计数据。浏览量、主题设置、友情链接都需要额外的 SQL 操作来补全。下篇将记录缩略图迁移与 COS 存储桶配置的完整过程。