WordPress备份教程:数据库和文件分两步备,恢复顺序反过来

倪叶明

作者

更新于 ·发布于

WordPress备份最容易踩的坑,是备完看着一切正常,真出事才发现只备了一半。开发者文档把话说得很直:一个典型WordPress站要完整恢复,数据库和文件两部分都得有。原句是「There are two parts to backing up your WordPress site: Database and Files」。

对做出海站的人来说,这件事的分量在于:文章是一篇一篇写出来的,插件和主题是花钱买的,这些都只存在主机上。主机出故障、误操作、升级失败,任何一件发生,没有备份就是从零开始。猎者出海把备份算进建站流程里,不算额外工作。

  • 备份等于数据库加文件,缺一样都不算完整备份
  • 官方要求定期备份,升级之前一定要备
  • 备份先库后文件,恢复先文件后库,两个动作是反的
  • 频率按站点活跃度定,保留多份,分开存放
  • 只备份文件,不等于备份了数据库

这篇讲三条备份路(插件、主机面板、手动)各自怎么走,以及恢复后怎么验证。只讲官方页面写过的做法。站还没建起来的,先看WordPress建站教程,把站跑起来再谈备份。

WordPress备份到底备什么:数据库和文件是两套东西

这两部分存在两个地方。文件在主机上的WordPress目录里,数据库在独立的数据库系统里,通常是MySQL或MariaDB。下载整个网站目录,拿到的是文件,数据库不在里面。

换句话说,备份这个动作要分两趟做,数据库一趟,文件一趟。很多人把它当成一件事,就是因为后台看着是一个站,感觉上是一个整体。

数据库里存的是文章、评论、链接,被清空就全丢

每一篇文章的正文、每一条评论、每一个链接、站点的设置,全写在数据库里。数据库被清空或损坏,你写过的全部内容就没了。

文章内容在数据库里,主题模板文件在目录里,两边拼起来才是访客看到的页面。只留一边,站点是残的。

文件指核心、主题、插件、uploads、wp-config.php、.htaccess

WordPress目录里的东西分几类:核心程序、主题、插件、uploads上传目录、wp-config.php、.htaccess。wp-content这个目录要特别留意,用户上传的图片、装的主题和插件都在里面。wp-config.php里存的是数据库连接信息,包括库名、用户名、密码和表前缀。

为什么下载整个WordPress目录备不到数据库

数据库不在WordPress目录里。下载目录这个动作,拿不到数据库,因为数据库存在目录外面。两者的物理位置分开,一个是文件系统,一个是数据库服务。

所以在典型的WordPress配置下,备份文件不顺带备份数据库。这两样东西不能互相替代,也别指望一份压缩包解决全部问题。

数据库备份长什么样:.sql / .gz / .bz2 导出文件

备份数据库就是导出一个转储文件,常见格式是.sql、.gz或.bz2。.sql是纯文本,用记事本打开能看到建表和插入数据的语句。.gz和.bz2是压缩过的,体积小,恢复时由面板或工具解压。

文件备份出来就是目录结构,一个文件夹套一个文件夹。数据库备份和文件备份长得很不一样,恢复的时候也要分开处理,别混在一个动作里。

用插件备份:装一次,设好频率和存放位置

后台的Plugins > Add New里搜BackWPup,点Install Now,再点Activate。装不了在线安装的,走Plugins > Add New > Upload Plugin上传插件包。激活后打开BackWPup,跟着它的引导走一遍。

  1. 选备份内容:整站,或者只文件,或者只数据库。
  2. 选运行频率:按站点更新文章的节奏挑一档。
  3. 选存放位置:主机服务器,或者云存储,两边可以同时选。
  4. 保存任务,然后点一次立即备份,让它马上跑一遍。

选整站的时候,数据库和文件都在这一次任务里,设好排程到点它自己跑,不用你每次手动导库再拉文件。这是插件最实在的地方,把排程接过去了。

跑完去任务历史里看一眼状态。没显示成功,先手动再跑一次,看卡在哪一步。插件装不上的,报错和处理办法写在插件安装失败这篇里。

用主机面板备份:cPanel和Plesk的入口在哪

cPanel里备份数据库的入口叫Download a MySQL Database Backup。找到它,点下面列出的数据库名,浏览器会下载一个.gz文件到本地。

要进phpMyAdmin,先在cPanel主面板找MySQL标志,点MySQL Databases链接,下一页里有phpMyAdmin链接,点进去就是。

Plesk的路径不一样。在Websites & Domains页面找到你装WordPress时建的数据库,点对应的Open按钮,phpMyAdmin就开了。看不到Open按钮,先把Start creating your website这条提示关掉,按钮才露出来。

面板备份的好处是不依赖WordPress后台。站点白屏、后台进不去的时候,面板还能进,库还能导出来。

有一条要记住:cPanel里不要生成整站完整备份。官方写明这类完整备份只用于归档,不能通过cPanel恢复。生成的时候觉得稳了,真要恢复时用不上。

面板里找不到phpMyAdmin,直接问主机商,让它告诉你入口在哪。用宝塔面板的,安装和入口看宝塔面板安装教程。

手动备份:phpMyAdmin导数据库 + FTP拉文件

不想装插件、面板也没有一键导出,就走手动。数据库和文件分开处理,数据库先动。

phpMyAdmin选中WordPress数据库后点Export导出备份
实操截图:左侧选库,顶部Export,Quick模式点Go导出全库
  1. phpMyAdmin快速导出:登录后左侧选中WordPress那个库,右侧会列出所有表。点顶部Export标签,确认选中的是Quick,点Go,浏览器提示下载,把文件存到电脑上。这个快速法导的是全库、不压缩,恢复时目标库里不能有任何表,否则会撞。
  2. 只导WordPress自己的表:同一个库还放了别的程序,就不能全库导。在Table区只勾以wp_开头的表,或者你在wp-config.php里设的table_prefix开头的表。到Output区勾Save output to a file,Compression选None,库很大再选压缩,Format下拉选SQL。Add DROP TABLE和IF NOT EXISTS两个勾打上,前者覆盖已有库时用得上,后者防表已存在时报错,点Go。
  3. 库太大走命令行:phpMyAdmin处理不了大库,导出超时或者文件残缺就换命令,命令写在下面。也可以用MySQL Workbench,它的Data Export没有phpMyAdmin那个大小限制。
  4. 文件用FTP拉下来:用FTP程序把WordPress目录整个下载到本地。WinSCP的做法是登录后点Synchronize,Direction设成local,Synchronization Mode设成Synchronize files,点OK看一遍摘要,再点OK开始同步。核心文件可以不备,官方说核心能从WordPress压缩包重新下载替换,真正要备的是wp-config.php和wp-content。

mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp | gzip > blog.bak.sql.gz

主机、用户名、库名换成你自己的,回车后输密码,管道接gzip,出来就是压缩包。恢复时报「表已存在」,回头看你导出时有没有勾IF NOT EXISTS。

恢复怎么做:先文件后数据库,搬到新站还要改wp-config.php

恢复的顺序跟备份反过来,先把WordPress文件放回去,再导入数据库。

cPanel数据库备份入口列出数据库名可下载gz文件
实操截图:cPanel点数据库名下载gz,恢复时同一程序直接上传
  1. 把备份的文件上传回主机,覆盖到原来的WordPress目录。
  2. 进phpMyAdmin或cPanel的恢复入口,导入数据库文件。
  3. 打开站点首页和后台各一页,确认文章、页面、设置都在。

cPanel恢复不用解压.gz,在同一个cPanel程序里直接上传那个gz文件就行。

搬到新主机,多两步。先在新主机上重建数据库和数据库用户,密码要跟备份时一致。改了密码,就同步改wp-config.php里的对应项,否则站点连不上库。

恢复后打不开,先看wp-config.php里的库名、用户名、密码、主机地址对不对。凭据不对,站点直接报数据库连接错误。站点能打开但HTTPS报错、页面里混着http和https,看WordPress HTTPS问题。

备份插件怎么选:两个免费插件的差别

插件 免费版能存到哪 频率档位
BackWPup 主机本地、Dropbox、FTP、Microsoft Azure、Amazon S3及兼容存储、SugarSync、Rackspace Cloud Files,同一个任务里可以组合 每小时、每天、每周、每月
UpdraftPlus Dropbox、Google Drive、Amazon S3及兼容、Rackspace Cloud、FTP、DreamObjects、Openstack Swift、邮件 每2、4、8、12小时,每天、每周、每月、每两周

两家的差别主要在两处:能存到哪、能多频繁地跑。你手上已经有Dropbox或Google Drive,就选支持它的那个;站点一天更新几篇,就看有没有按小时跑的档位。插件目录里搜backup,返回4,215个结果,按存放位置和频率需求挑,别按谁排前面挑。

Duplicator要求PHP 7.4或更高、WordPress 6.2或更高。第一次备份在Duplicator > Backups里建。

多久备一次、留几份、放哪:官方给的数字

项目 建议
小站、文章少 每周一次
高活跃、文章多 每天一次
保留份数 至少3到5份近期备份
存放位置 主机服务器、云存储、本地电脑,不同地点、不同介质
升级或搬家前 一定要备

3份刚好三个位置各一份,取到5份,多出来的两份换介质放,比如移动硬盘和光盘。备份全放在同一台主机上,主机没了备份也没了。

还有一条一致性上的要求:文件和数据库最好当成一个「备份集」,在同一时间点生成。分两天备,中间新发的文章就对不上,恢复出来会缺一截。

自动备份设好不等于一直在跑。官方建议隔一段时间手动备一次,用来验证自动流程还在工作。

常见误区和排查顺序

误区一:以为备份了文件就把数据库也备了。数据库存在WordPress目录外面,下载目录拿不到它。

误区二:只备数据库。主题、插件、上传的图片、wp-config.php全没备,恢复出来是一个空壳站。

误区三:在cPanel里生成整站完整备份,以为就稳了。这类完整备份只用于归档,不能通过cPanel恢复。

误区四:自动备份设完就不管。流程哪一步断了,不点进任务历史看不出来。

出问题按这个顺序查:

  1. 恢复报表已存在,回看导出时有没有勾IF NOT EXISTS。
  2. 站点连不上数据库,查wp-config.php里的凭据和新环境是否一致。
  3. 数据库太大导不出来,换命令行或MySQL Workbench。
  4. 插件报错,下载备份日志。UpdraftPlus的设置页有日志下载链接,也可以FTP到wp-content/updraft目录里找。

站点本身打开就慢、后台操作老超时的,先看WordPress速度优化。备份或恢复过程中整站报500错误的,看WordPress 500错误。

用AI辅助做备份和恢复验证:能帮哪几步、人要核什么

备份这件事步骤不多,但按钮分散在插件后台、cPanel、Plesk、phpMyAdmin几个地方,换一台主机路径就变。AI适合干的是把步骤翻译成你面板上能点的路径,以及恢复失败时给一个排查顺序。

能帮的四步:

  1. 把官方那两条顺序整理成一张检查清单,你照着逐项打勾。
  2. 告诉它你的面板是cPanel、Plesk还是DirectAdmin,让它把备份步骤改写成你面板上的具体点击路径。
  3. 把mysqldump那条示例命令里的主机、用户名、库名换成你的值,生成一条能直接粘贴的命令。
  4. 恢复失败时,把报错原文和UpdraftPlus的备份日志贴进去,让它按表已存在、wp-config.php凭据不一致、数据库过大三个方向排顺序。

下面三条提示词是本文给的示例,不是官方模板,照着改一改就能用。

「下面是一份WordPress官方备份顺序说明,请整理成10项以内的检查清单,每项一行,保留原文里的顺序:先备数据库再备文件,恢复先文件再数据库。」

「我的主机面板是cPanel,请把这段官方phpMyAdmin备份步骤改写成cPanel上的具体点击路径,不要增加原文没有的步骤。」

「这是我恢复数据库时的报错原文和UpdraftPlus备份日志,请按表已存在、wp-config.php凭据不一致、数据库过大三个方向列出排查顺序,每条说明看哪个日志字段判断。」

有三件事AI替不了,必须你自己动手。第一,进主机面板点开phpMyAdmin,确认你的数据库名和表前缀是wp_还是自定义的,这决定你备份时选哪些表。第二,在插件后台亲手设一次任务:选内容、设频率、选存放位置,点立即备份,再去看任务历史有没有显示成功。第三,做一次恢复验证:在测试库或新环境里导入备份文件,打开首页和后台各一页,确认内容都在,再决定这份备份留不留。

整理官方文档、把步骤对着面板改成能照着点的清单,这类活猎者出海的AI Agent能接,人负责验收。

常见问题

WordPress备份能全自动跑吗?

能,官方列了几种自动化备份的方法。但官方建议隔一段时间手动备一次,用来确认自动流程还在跑。

phpMyAdmin在哪打开?

多数主机的控制面板会预装。cPanel从MySQL Databases进去,Plesk从Websites & Domains里数据库的Open按钮进。

面板里找不到入口,直接问主机商要路径。

备份文件能用来备份其他数据吗?

能。官方对这个问题的回答是备份本身是通用的,同一套导出和恢复的做法,换到别的数据上也成立。

只备份数据库够不够?

不够。数据库里有文章、评论、设置,但没有主题、插件、上传的图片和wp-config.php。搬到新环境,站是空壳。

备份频率能自己定吗?

能,官方把决定权交给站主,看发文频率和丢掉几篇文章时的感受。没把握就按小站每周一次、高频站每天一次起步。

备份没有技术含量,难在它不出问题的时候想不起来。设成一个固定任务,隔一段时间手动跑一次,恢复验证做过一遍,真出事那天才不会现找教程。

发表评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注