备份与恢复WordPress数据库
强烈建议定期备份数据库,并在升级前进行备份。
这样在出现问题时,就可以从备份恢复数据库。
备份数据库时,通常会生成导出文件,例如.sql、.gz或.bz2。可以将它和文件备份保存在一起,让数据库与文件组成同一个“备份集”;但恢复时仍需将导出文件导入MySQL/MariaDB。
使用cPanel X备份
cPanel是许多托管商使用的流行控制面板。它的备份功能可以备份MySQL数据库。不要生成完整备份,因为完整备份严格用于归档,不能通过cPanel恢复。找到“Download a MySQL Database Backup”,点击数据库名称,*.gz文件就会下载到本地磁盘。
恢复时不必解压该文件。在同一个cPanel程序中找到gz文件并上传。上传完成后,浏览器底部会显示dump complete。如果上传到新主机,需要重新创建数据库用户并设置匹配的密码。如果更改密码,也要相应修改wp-config.php。
使用phpMyAdmin
phpMyAdmin是用于操作数据库的程序。
原文以下操作说明的测试环境是:Linux上运行MySQL 5.6.28,phpMyAdmin 4.4.13连接到该数据库。

快速备份流程
如果不压缩地备份WordPress数据库的全部表,可以使用简单方法。恢复这一备份时,新数据库应不包含任何表。
- 登录服务器上的phpMyAdmin。
- 在左侧窗口中选择WordPress数据库。本例数据库名称为“wp”。
- 右侧窗口显示数据库中的全部表。点击上方选项卡中的“Export”。

- 确保已选择Quick,点击“Go”。随后应提示下载文件,将它保存到计算机。根据数据库大小,可能需要稍等片刻。

自定义备份流程
如果希望改变默认行为,选择Custom备份。在上面第4步中选择Custom,详细选项就会显示。

Table部分
数据库中的全部表都会被选中。如果其他程序也使用这个数据库,只选择属于WordPress安装的表:它们的名称以wp_开头,或以wp-config.php中指定的table_prefix开头。
如果只安装了WordPress博客,保持原样即可;若修改过选择,可以点击“Select All”。
Output部分
在Compression框中选择“zipped”或“gzipped”,压缩数据。

Format部分
确保选择SQL。与CSV或其他数据格式不同,此选项导出一系列SQL命令。
在Format-specific options部分保持选项原样。

Object creation options部分
选择“Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER statement”。在目标数据库创建表之前,它会调用DROP语句删除已有的旧表。

Data creation options部分
保持选项原样。

现在点击窗口底部“Go”,随后应提示下载文件。将文件保存到计算机;根据数据库大小,可能需要稍等片刻。
请记住:你没有备份文件和文件夹,例如图片;但文章和评论已经备份。
直接使用MySQL/MariaDB命令
phpMyAdmin无法处理大型数据库,直接使用MySQL/MariaDB命令会有所帮助。
切换到希望保存导出备份的目录:
user@linux:~> cd files/blog
user@linux:~/files/blog>
使用mysqldump命令,并提供MySQL服务器名称、用户名和数据库名称。命令会提示输入密码;帮助信息可查看man mysqldump。
备份所有数据库表:
mysqldump --add-drop-table -h mysql_hostserver -u mysql_username -p mysql_databasename
仅备份数据库中的某些表:
mysqldump --add-drop-table -h mysql_hostserver -u mysql_username -p mysql_databasename
示例:
user@linux:~/files/blog> mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp > blog.bak.sql
Enter password: (type password)
使用bzip2压缩备份文件:
user@linux:~/files/blog> bzip2 blog.bak.sql
也可以把上述两条命令合成一行:
user@linux:~/files/blog> mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp | bzip2 -c > blog.bak.sql.bz2
Enter password: (type password)
管道符|后的bzip2 -c表示即时压缩备份,而> blog.bak.sql.bz2把bzip输出写入名为blog.bak.sql.bz2的文件。
虽然bzip2通常比较旧的压缩算法,例如.Z、.zip、.gz,更有效地压缩多数文件,但它在压缩与解压缩时明显较慢。大型数据库备份使用gzip会更快。
user@linux:~/files/blog> mysqldump --add-drop-table -h db01.example.net -u dbocodex -p wp | gzip > blog.bak.sql.gz
使用MySQL Workbench
MySQL Workbench,以前称为My SQL Administrator,是执行管理操作的程序:配置MySQL服务器、监控状态和性能、启动和停止服务、管理用户和连接、备份、恢复备份,以及其他许多管理任务。
多数任务也可通过mysqladmin或mysql这样的命令行界面完成;MySQL Workbench则有以下优势:
- 图形用户界面更直观。
- 更清晰地展示影响MySQL服务器性能、可靠性与安全性的关键设置。
- 以图形方式显示性能指标,更容易确定并调整服务器设置。
- 可用于Linux、Windows与MacOS X,远程客户端能够跨平台备份数据库。只要有权访问远程服务器上的MySQL数据库,就能把数据备份到任何有写入权限的位置。
- 不像phpMyAdmin那样限制可备份数据库的大小。
原文以下说明的测试环境是:Linux上运行MySQL 5.6.28,MySQL Workbench 6.3.6连接到该数据库。

备份数据库
以下假定已安装MySQL Workbench,并配置好本地或远程登录MySQL数据库服务器。安装说明可参考相应平台安装包附带的文档,或在线文档。
- 启动MySQL Workbench。
- 如果首页显示数据库实例,点击它;否则从顶部菜单选择Database → Connect Database,输入所需信息并点击OK。
- 点击左侧窗口的Data Export。

- 选择要备份的WordPress数据库。
- 在Export Options中指定目标目录。对写入备份的目录必须具有写入权限。
- 点击窗口右下方的Start Export。

从备份恢复
- 启动MySQL Workbench。
- 如果首页显示数据库实例,点击它;否则点击Database → Connect Database,再点击OK。
- 点击左侧窗口的Data Import/Restore。
- 指定备份文件所在文件夹。点击Import from Dump Project Folder右侧的“…”;选择备份文件夹,再点击Open。
- 点击窗口右下方的Start Import,数据库恢复即开始。

MySQL GUI工具
除了MySQL Workbench,还有很多GUI工具可以备份,即导出数据库。
| 名称 | 付费版操作系统 | 免费版操作系统 | 备注 |
|---|---|---|---|
| MySQL Workbench | Windows/Mac/Linux | Windows/Mac/Linux | 参见上文 |
| EMS SQL Management Studio for MySQL | Windows | ||
| Aqua Data Studio | Windows/Mac/Linux | Windows/Mac/Linux,14天试用 | 支持9种语言 |
| Navicat for MySQL | Windows/Mac/Linux | Windows/Mac/Linux,14天试用 | 支持8种语言 |
| SQLyog | Windows | ||
| Toad for MySQL | Windows | ||
| HeidiSQL | Windows | ||
| Sequel Pro | Mac | CocoaMySQL的后继工具 | |
| Querious | Mac |
使用WordPress数据库备份插件
可以在WordPress插件目录中找到帮助备份数据库的插件。
以下说明针对名为WP-DB-Backup的插件。
安装
备份

- 选择Backup Options;可以下载备份,也可以通过邮件接收。
- 最后点击Backup Now!,实际执行备份。也可以安排定期备份。

恢复数据
生成的是标准SQL文件。如何上传该文件,参见从备份恢复数据库。
更多资源
外部资源
从备份恢复数据库
使用phpMyAdmin
phpMyAdmin通过网页界面远程操作数据库,良好的托管服务通常包含该工具。备份WordPress数据库的方法参见备份数据库。
原文此处说明使用Unix上的phpMyAdmin 4.0.5进行过测试。
恢复流程
使用phpMyAdmin按以下步骤恢复MySQL/MariaDB数据库:
- 登录phpMyAdmin。
- 点击“Databases”,选择要导入数据的数据库。
- 随后可能显示已有表列表,也可能显示没有任何表,取决于你的配置。
- 屏幕顶部有一排选项卡,点击Import。
- 下一页有一个文本文件位置框,旁边有Browse按钮。
- 点击Browse,找到计算机中保存的备份文件。
- 确保Format下拉菜单选择SQL。
- 点击Go。
现在可以喝杯咖啡稍等。这个过程需要时间,最终会看到成功页面。
如果收到错误消息,最好到WordPress支持论坛寻求帮助。
使用MySQL/MariaDB命令
恢复过程包括解开归档的数据库转储文件,并将其导入MySQL/MariaDB数据库。
假定备份是一个.bz2文件,生成方法类似于使用MySQL/MariaDB命令备份数据库中的说明,恢复步骤如下:
- 解压
.bz2文件:user@linux:~/files/blog> bzip2 -d blog.bak.sql.bz2注意:如果备份是名为
blog.bak.sql.tar.gz的.tar.gz文件,应改用下列命令:tar -zxvf blog.bak.sql.tar.gz - 把备份的SQL导回MySQL/MariaDB:
user@linux:~/files/blog> mysql -h mysqlhostserver -u mysqlusername -p databasename < blog.bak.sql Enter password: (enter your mysql password) user@linux:~/files/blog>
来源与许可
来源:WordPress Advanced Administration Handbook:Backing Up Your Database,WordPress文档贡献者。本版为中文翻译,界面截图和命令保留原文来源。官方仓库GPL第2版许可全文随来源文件保留。











暂无评论内容