WordPress 备份与恢复指南

无论您的 WordPress 网站有多安全、维护有多完善,可靠的备份都是不可或缺的。服务器硬件可能故障,插件可能冲突,黑客可能入侵,误删操作也随时可能发生。一套完善的备份策略,决定了您是能在 30 分钟内恢复正常,还是从此一无所有。本指南涵盖从自动云备份到全手动操作的所有备份方案。

3-2-1 备份原则:保留 3 份数据副本,存储在 2 种不同介质上,其中 1 份存放在异地(云端)。即使服务器完全损毁,也能确保数据可恢复。

WordPress 的组成:文件 + 数据库

在开始备份之前,您需要了解 WordPress 网站并不是将所有内容存储在同一个地方的。它由两个相互配合的部分组成——如果只备份其中一个,还原后的网站往往是不完整的,甚至根本无法加载。理解这一结构是掌握备份主题最重要的基础。

可以把 WordPress 网站想象成一家餐厅:数据库是食谱和订单,而文件则是建筑、厨房和食材。任何一样丢失,餐厅都无法正常营业。

1. 数据库——内容的核心

WordPress 使用 MySQL/MariaDB 数据库存储所有"文字"和"设置"类内容,包括:

数据库通常体积较小(几 MB 到几百 MB),但它变化最为频繁——每一条评论、每一笔订单或每一篇新文章都会修改它。因此,数据库的备份频率应高于文件备份。

2. 文件——结构与媒体

所有文件存放在 WordPress 安装目录(通常为 public_html/)中,主要分为三类:

简单记忆法:数据库 = "内容和设置",文件 = "外观和媒体"。完整备份需要两者同时进行,且时间应尽量接近,以保持一致性(用新插件文件搭配旧数据库,可能导致插件设置不同步)。

方法一:UpdraftPlus(适合大多数网站)

UpdraftPlus 是最受欢迎的 WordPress 备份插件,活跃安装量超过 300 万。免费版支持 Google Drive、Dropbox、S3、FTP 和电子邮件等多种备份目的地。

设置步骤

  1. 从"插件 → 安装插件"中安装 UpdraftPlus
  2. 进入 设置 → UpdraftPlus Backups
  3. 设置计划:文件——每周备份,保留 4 份;数据库——每天备份,保留 7 份
  4. 选择远程存储目的地(推荐 Google Drive)
  5. 点击 保存更改,再点击 立即备份 进行测试

UpdraftPlus 的备份内容

方法二:DirectAdmin 备份管理器

如果您使用 AsiaGB 主机,DirectAdmin 内置了备份工具,可备份整个托管账户,包括文件、数据库、电子邮件和 DNS 设置。

  1. 登录 DirectAdmin → 系统信息与文件 → 备份/传输
  2. 选择 创建备份
  3. 勾选所有选项:域名数据、数据库、电子邮件账户
  4. 点击 创建备份
  5. 将生成的 .tar.gz 文件下载到本地计算机

提示:可设置 DirectAdmin 定时自动备份。进入 计划任务(Cron Jobs),添加命令每周执行一次备份脚本,之后将备份文件下载到异地保存。

方法三:手动备份(phpMyAdmin + FTP)

如需完全掌控,可选择手动备份。即使没有插件访问权限,该方法也同样有效,在网站出现故障时尤为实用。

通过 phpMyAdmin 备份数据库

  1. 打开 DirectAdmin → MySQL 管理 → phpMyAdmin
  2. 从左侧面板选择您的 WordPress 数据库
  3. 点击 导出
  4. 选择快速导出方式,格式选择 SQL
  5. 点击 导出——保存生成的 .sql 文件

通过 FTP 备份文件

  1. 使用 FileZilla 或其他 FTP 客户端连接
  2. 导航至 WordPress 根目录(通常为 public_html/)
  3. 将整个目录下载到本地计算机
  4. 重点关注:wp-content/uploads/、wp-config.php、.htaccess

如何备份:UpdraftPlus 插件与通过 DirectAdmin/phpMyAdmin 手动备份对比

大多数人会使用 UpdraftPlus 插件或通过 DirectAdmin/phpMyAdmin 进行手动备份。两种方式各有适用场景,本节将逐步讲解这两种方法,帮助您做出正确选择。

方案 A:UpdraftPlus(自动化,在仪表盘内操作)

最适合仍可登录 wp-admin、希望备份自动执行、无需手动触发的场景:

  1. 在 WordPress 后台进入 插件 → 安装插件,搜索 UpdraftPlus,然后安装并激活
  2. 进入 设置 → UpdraftPlus Backups → 设置选项卡
  3. 设置文件备份计划 = 每周,保留 4 份;数据库备份计划 = 每天,保留 7 份
  4. 在选择远程存储下,选择 Google Drive 并点击授权以获取访问权限
  5. 点击保存更改,然后切换到备份/还原选项卡,点击立即备份进行测试(同时勾选数据库和文件)
  6. 等待日志显示 The backup apparently succeeded and is now complete,然后确认文件确实出现在 Google Drive 中

优点:设置一次即可自动运行,备份传至异地云端,并可在同一界面还原。局限性:如果网站损坏严重、无法访问 wp-admin,则无法通过插件触发新备份(但历史备份仍可正常还原)。

方案 B:通过 DirectAdmin + phpMyAdmin 手动操作(完全掌控)

最适合在高风险操作(大版本升级、更换主题)前创建快照,或网站损坏、wp-admin 无法访问时使用——因为它在托管面板层面操作,不依赖 WordPress 本身。AsiaGB 主机使用 DirectAdmin,您可以立即按照以下步骤操作:

  1. 备份数据库:登录 DirectAdmin → phpMyAdmin → 在左侧点击您的 WordPress 数据库 → 选择导出选项卡 → 方法选快速,格式选 SQL → 点击执行下载 .sql 文件
  2. 备份文件:返回 DirectAdmin → 文件管理器 → 打开 public_html → 全选 → 压缩为 .tar.gz → 下载到本地计算机
  3. 或一次备份整个账户:DirectAdmin → 创建/还原备份 → 创建网站备份 → 勾选数据库 + 域名设置 → 创建,然后从 /home/[用户名]/ 下载 .tar.gz 文件

为确保备份完整,建议用文本编辑器打开 .sql 文件,确认文件开头为 phpMyAdmin 的注释头信息,并包含 CREATE TABLE 语句——不完整的导出文件通常大小为 0 KB 或在文件中途被截断。

注意:不要将备份文件留在 public_html 目录中。存放在公开 Web 目录中的 .sql 或 .zip 文件,任何人都可以下载。请务必将备份从服务器拉取到本地,然后删除服务器上的副本。

从备份还原 WordPress

使用 UpdraftPlus 还原

  1. 进入 设置 → UpdraftPlus Backups
  2. 在"现有备份"列表中找到目标备份(或点击"重新扫描远程存储")
  3. 点击 还原
  4. 选择要还原的组件(数据库 + 主题 + 插件 + 上传内容)
  5. 点击 还原,等待完成——该过程可能需要数分钟

手动还原

  1. 通过 FTP 将所有 WordPress 文件上传至托管账户
  2. 在 DirectAdmin → MySQL 管理中创建一个新的空数据库
  3. 通过 phpMyAdmin → 导入,导入 .sql 文件
  4. 更新 wp-config.php 中的数据库名称、用户名和密码
  5. 访问网站——如果 URL 有误,运行以下 SQL 进行更新:
UPDATE wp_options SET option_value = 'https://yournewdomain.com'
WHERE option_name = 'siteurl' OR option_name = 'home';

逐步还原 WordPress(网站完全崩溃时)

当灾难来临——白屏、"Error establishing database connection"报错,或遭到黑客入侵——从备份文件进行手动还原是最可靠的方法。请按以下顺序操作,不要跳过任何步骤:

  1. 准备备份:解压 .tar.gz/.zip,并准备好数据库 .sql 文件
  2. 创建空数据库:在 DirectAdmin → MySQL 管理中创建一个新数据库,记录数据库名称、用户名和密码
  3. 导入数据库:打开 phpMyAdmin → 选择新数据库 → 导入选项卡 → 选择 .sql 文件 → 点击执行(如文件超出大小限制,可将其压缩为 .sql.gz 后再导入)
  4. 上传网站文件:使用 FTP(如 FileZilla)或文件管理器将所有文件上传至 public_html,尤其是 wp-content/uploads/ 目录
  5. 更新 wp-config.php:打开 wp-config.php,将数据库名称、用户名和密码更新为步骤 2 中的内容
define('DB_NAME', 'your_new_db_name');
define('DB_USER', 'your_new_db_user');
define('DB_PASSWORD', 'your_new_db_password');
define('DB_HOST', 'localhost');

打开网站——如果所有内容都已恢复,则还原成功。如果迁移到了新域名,请通过 phpMyAdmin 的 SQL 选项卡更新数据库中的网站 URL:

UPDATE wp_options SET option_value = 'https://yournewdomain.com'
WHERE option_name = 'siteurl' OR option_name = 'home';

最后,登录 WordPress 后台 → 设置 → 固定链接 → 点击一次保存更改(无需修改任何内容),使 WordPress 重新生成 .htaccess 规则。这一步骤通常可以修复还原后内页(单篇文章)出现 404 错误的问题。

顺序很重要:请先还原数据库,再将 wp-config.php 指向它。顺序颠倒会触发"Error establishing database connection"。另外,在覆盖还原之前,务必先备份损坏的网站,以便日后需要时可以找回最近添加的数据。

自动备份与异地存储(3-2-1 原则)

偶尔进行手动备份是"聊胜于无"的做法,但风险在于您可能会忘记——等到网站真正出问题时,最后一次备份可能已经是一个月前的了。解决方案是使用 3-2-1 原则实现自动化和分散存储:

针对 AsiaGB 主机上的网站,以下是一套今天就能搭建的实用方案:

  1. 第一层——主机系统:AsiaGB 主机每月自动备份两次(1 日和 15 日),作为基础安全保障
  2. 第二层——UpdraftPlus 云备份:配置 UpdraftPlus 每天备份数据库、每周备份文件,并传至 Google Drive 或 Dropbox(这是您的异地副本)
  3. 第三层——本地机器副本:每月一次,将最新备份下载到您的计算机或外部硬盘

这三层方案提供了三份以上副本,存储在不同介质上,并包含异地副本——完全满足 3-2-1 原则。无论数据丢失的原因是什么,您始终有可以恢复的时间节点。

保留策略提示:永远不要只保留一份不断被覆盖的备份。如果您的网站被黑客入侵,而最新备份是在恶意软件植入之后创建的,还原该备份会将感染带回来。请保留多份历史副本(例如数据库 7 份、文件 4 份),以便可以回滚到网站还处于正常状态的某个时间点。

常见问题

WordPress 应该多久备份一次?

这取决于网站内容更新的频率。每日有订单的新闻网站和网店应每天备份数据库、每周备份文件(主题和插件很少每天发生变化)。对于每周更新一次的企业网站或博客,每周完整备份一次即可。在进行高风险操作(如 WordPress 大版本升级或更换主题)之前,务必额外备份一次。

UpdraftPlus 与 DirectAdmin 备份有何区别——应该用哪个?

UpdraftPlus 在 WordPress 层面运作,可将备份传至云端,并可直接从仪表盘还原,非常适合作为日常备份工具。DirectAdmin 备份在托管账户层面运作,可备份整个账户(文件、数据库、电子邮件),适合在进行重大变更前创建快照,或在 wp-admin 无法访问时使用。最佳方案是两者结合,相互补充,共同满足 3-2-1 备份原则。

还原数据库后出现"Error establishing database connection"该怎么办?

该错误表示 WordPress 无法连接数据库。通常原因是 wp-config.php 中的数据库名称、用户名或密码与您刚创建的数据库不匹配。请打开 wp-config.php,对照 DirectAdmin → MySQL 管理中的设置,核实 DB_NAME、DB_USER 和 DB_PASSWORD,并确认 DB_HOST 为 localhost。

AsiaGB 主机是否包含自动备份?

是的。AsiaGB 主机通过 DirectAdmin 每月自动备份两次(1 日和 15 日),无需额外付费。即便如此,我们仍建议配置 UpdraftPlus 将备份传至云端,并下载一份本地副本,以完全满足 3-2-1 原则,掌握自己的数据恢复节点。

配备 DirectAdmin 备份管理器的 WordPress 主机

AsiaGB 主机内置 DirectAdmin,提供备份工具和一键还原功能。备份可存储在我们的服务器上,也可下载到异地保存。起价 500 泰铢/年。

查看主机方案 →