Discuz:数据库备份及恢复详解
Discuz! 6.0|Discuz! 6.0安装|Discuz! 6.0使用|Discuz! 6.0风格模板|Discuz! 6.0插件|Discuz! 6.0升级|Discuz! 6.0开发|Discuz! 6.0 FAQ |
Discuz!6.0 的后台备份稍有区别于 5.x 及以前版本,比如不再有“标准备份”和“最小备份”的选择,以前有用户由于不慎而没有全部备份数据导致数据丢失的问题,所以 Discuz!6.0 只有一种“全部备份”,而且增加了“论坛和 SupeSite 全部备份”,更加方便和人性化!
(一)、数据备份
进入论坛后台“系统工具 - 数据库 - 资料备份”,如图 1 所示:
1、论坛全部数据
适用情况:只安装了论坛或者只需要对论坛做备份。
2、论坛和 SupeSite 全部数据
适用情况:安装了 SupeSite 的论坛备份,无特殊情况建议全部备份论坛和 SupeSite 数据。
3、自定义备份
可以自定义备份 Discuz! 或者 SupeSite 的部分或者全部表,如图 2 所示:
适用情况:可以用于单独备份 SupeSite 数据,或者其他特殊情况下的备份。
图 1 中点击“更多选项”则得到如图 3 所示的扩展设置界面:
主要需要注意下面两个方面:
一、数据备份方式
推荐选择“Discuz! 分卷备份”,“文件长度限制”最好不要超过默认的“2048 k”,如图 4 所示:
二、数据备份选项
其中需要注意下面几点:
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 的论坛即可。当然这里如果选择不慎出错,恢复备份数据的时候很可能会导致乱码问题。
这里需要说明下:这里的强制字符集功能并不能用于转换字符集,它可以改变文件中关于字符集的设置,从而允许不同字符集的数据导入,可以防止乱码的出现。
4、“十六进制方式”:推荐选择“是”。这个功能可以防止备份恢复时的乱码问题。
注:选择“十六进制方式”备份后的 sql 备份文件打开看不到原数据,而是一些看起来是字母数字的东西。
5、 “压缩备份文件”:
有三个选项:
“多分卷压缩成一个文件”:如果要把备份文件挪动位置,这种方式比较方便,备份完毕后自动打包,可以避免移动过程中的遗失文件等问题。
“每个分卷压缩成单独文件”:可用于单纯的备份,不过恢复的时候需要挨个解压。
“不压缩”:备份后的 sql 文件无压缩,可直接用于数据恢复。
6、“备份文件名”:默认的备份文件存放在 ./forumdata 目录下的一个名为 backup_xxx 的目录里,其文件名由“日期+下划线+随机字符+后缀.sql”构成,当然这里您也可以自己定义备份文件名。
弄明白了 Discuz!6.0 后台备份的各项参数及设置,可以方便大家准确无误的选择适合自己的备份方式,而不会因为备份数据方法的错误导致数据丢失等遗憾。
(二)、数据恢复
进入论坛后台“系统工具 - 数据库 - 资料恢复”,如图 6 所示:
有两种恢复方式:“从服务器”和“从本地文件”
推荐“从服务器”恢复,如果备份文件在本地可以将备份文件上传到 ./forumdata/backup_xxx 目录里进行恢复。
如果 ./forumdata/backup_xxx 目录下有备份文件,资料恢复这里就可以看到各个备份文件及其备份类型、备份时间、大小等属性,如图 7 所示:
上图中点击对应备份文件后面的“导入”就可以将该备份数据导入。
后台恢复数据有可能会因为一些原因无法导入,可以使用 Tools 工具导入:Discuz! Tools 工具使用方法介绍