电脑技术学习

Discuz! 6.0 后台备份及恢复详解

dn001

数据备份类型

Discuz!6.0 的后台备份稍有区别于 5.x 及以前版本,比如不再有“标准备份”和“最小备份”的选择,以前有用户由于不慎而没有全部备份数据导致数据丢失的问题,所以 Discuz!6.0 只有一种“全部备份”,而且增加了“论坛和 SupeSite 全部备份”,更加方便和人性化!

(一)、数据备份

进入论坛后台“系统工具 - 数据库 - 资料备份”,如图 1 所示:


图1

1、论坛全部数据

适用情况:只安装了论坛或者只需要对论坛做备份。

2、论坛和 SupeSite 全部数据

适用情况:安装了 SupeSite 的论坛备份,无特殊情况建议全部备份论坛和 SupeSite 数据。

3、自定义备份

可以自定义备份 Discuz! 或者 SupeSite 的部分或者全部表,如图 2 所示:


图2

适用情况:可以用于单独备份 SupeSite 数据,或者其他特殊情况下的备份。

图 1 中点击“更多选项”则得到如图 3 所示的扩展设置界面:


图3

数据备份注意事项

主要需要注意下面两个方面:

一、数据备份方式

推荐选择“Discuz! 分卷备份”,“文件长度限制”最好不要超过默认的“2048 k”,如图 4 所示:


图4

二、数据备份选项

如图 5 所示:(本演示的论坛数据库字符集为GBK)


图5

其中需要注意下面几点:

1、“使用扩展插入(Extended Insert)方式”:推荐选择“否”,选“是”可能会导致数据恢复的时候由于 SQL 语句过长而超时等问题。

两种方式优缺点对比:选“是”:备份数据会比较小;选“否”:备份数据的兼容性比较高。

2、“建表语句格式”:如果您只是备份数据,默认即可;如果是更换空间,就需要根据您新空间服务器上安装的 MySQL 的版本选择,如果您新空间服务器上安装的 MySQL 的版本号为 MySQL4.0.x 及以下版本,这里就选择“MySQL 3.23/4.0.x”,如果您新空间服务器上安装的 MySQL 的版本号为 MySQL4.1.x 及以上版本,这里就选择“MySQL 4.1.x/5.x”。

3、“强制字符集”:如果您只是备份数据,默认即可;如果您想转换论坛数据库的字符集,比如您想将您 GBK 的数据库字符集转换为 UTF-8 的,在这里选择“UTF-8”备份再导入到一个数据库和论坛字符集都为UTF-8的论坛即可。当然这里如果选择不慎出错,恢复备份数据的时候很可能会导致乱码问题。

这里需要说明下 Discuz!6.0 的新功能——可以将 UTF8 的数据库字符集强制导出为 GBK 的,这在 5.x 及以前版本里都无法实现。

4、“十六进制方式”:推荐选择“是”。这个功能可以防止备份恢复时的乱码问题。

注:选择“十六进制方式”备份后的 sql 备份文件打开看不到原数据,而是一些看起来是字母数字的东西。

5、 “压缩备份文件”:

有三个选项:

“多分卷压缩成一个文件”:如果要把备份文件挪动位置,这种方式比较方便,备份完毕后自动打包,可以避免移动过程中的遗失文件等问题。

“每个分卷压缩成单独文件”:可用于单纯的备份,不过恢复的时候需要挨个解压。

“不压缩”:备份后的 sql 文件无压缩,可直接用于数据恢复。

6、“备份文件名”:默认的备份文件存放在 ./forumdata 目录下的一个名为 backup_xxx 的目录里,其文件名由“日期+下划线+随机字符+后缀.sql”构成,当然这里您也可以自己定义备份文件名。


弄明白了 Discuz!6.0 后台备份的各项参数及设置,可以方便大家准确无误的选择适合自己的备份方式,而不会因为备份数据方法的错误导致数据丢失等遗憾。

数据恢复

(二)、数据恢复

进入论坛后台“系统工具 - 数据库 - 资料恢复”,如图 6 所示:


图6

有两种恢复方式:“从服务器”和“从本地文件”

推荐“从服务器”恢复,如果备份文件在本地可以将备份文件上传到 ./forumdata/backup_xxx 目录里进行恢复。

如果 ./forumdata/backup_xxx 目录下有备份文件,资料恢复这里就可以看到各个备份文件及其备份类型、备份时间、大小等属性,如图 7 所示:


图7

上图中点击对应备份文件后面的“导入”就可以将该备份数据导入。