scribble

守望的麦子

About Projects Tool Guestbook

27 Nov 2007
Discuz!论坛数据备份恢复

一:通过Discuz!内置备份功能保存数据库
安装并运行Discuz!论坛一段时间后我们可以通过其后台的备份功能保存数据库文件。
第一步:用管理员权限登录论坛,在首页点右上角的“系统设置”进入后台管理界面。

第二步:后台管理界面中我们在左侧找到“数据库->资料备份”。然后你会看到“数据备份类型”选项,一般我们保持默认的“标准备份”即可,他将备份包括常用的数据表在内的数据信息。如果是选择“全部备份”则保存全部论坛数据表内容,“最小备份”则是保存包括用户,板块设置及系统设置在内的数据,另外如果我们对数据库并不是十分了解的话,不建议大家通过“自定义备份”来设置。

在我们进行数据库备份类型设置时即使选择了全部备份也应该注意一点,那就是这样备份的信息里是不包括模板文件和附件文件的。模板和附件还有用户自定义头像等信息的备份只能通过FTP下载./templates,.//wp-content/uploads/attachments,./customavatars这些目录里的内容人工备份。当然如果你是对服务器自身操作也需要把这些目录内容复制到其他地方。

第三步:接下来是设置“数据备份方式”,我们保持默认值“Discuz!分卷备份-文件长度限制为2048Kb”即可。

第四步:“数据备份选项”中大部分信息保持默认即可,在备份文件名处可以输入我们要备份的数据库保存文件名称,当然默认会根据保存日期随机起一个名字,这个名称我们也是可以修改的。

第五步:点“提交”按钮开始备份数据库,很快就能看到Discuz!的提示——“恭喜您,全部一个备份文件成功创建,备份完成”。(如图)

第六步:我们用鼠标左键点下面那个数据库文件链接将查看该数据库文件的内容,如果懂得数据库语言的用户可以通过此文件了解自己论坛的一些基本信息。把这些文件复制下来保存成一个以后缀名sql为结尾的文件就实现了备份工作。(如图)

第七步:当然我们直接用鼠标右键点第五步显示的数据库文件链接,并且选择“另存为”可以将这个数据库文件保存到本地硬盘。
如果我们把论坛建立在自己的服务器或主机上的话可以到Discuz!安装目录中的forumdata目录找到刚刚备份的.sql文件,直接将他进行保存即可。
当然如果是远程虚拟主机的话就需要通过FTP登录工具访问Discuz!所在目录里的forumdate目录下载对应的.sql文件。

二:通过PHPMYADMIN备份数据库
一般来说专业的正规的备份MYSQL数据库的方法是通过PHPMYADMIN这个工具,下载最新版本的PHPMYADMIN后将他解压缩到网站发布文件夹中,例如www目录是发布目录,那么就把phpmyadmin解压缩到此目录中。接下来我们通过http://ip地址/phpmyadmin来访问PHPMYADMIN管理程序。
如果是虚拟主机的话也可以直接把PHPMYADMIN程序上传到虚拟空间中,访问PHPMYADMIN的方法和上面介绍的一样。
第一步:登录PHPMYADMIN管理界面后选择“导出”。

第二步:在数据库导出界面中我们能看到当前系统中存在的数据库名,例如数据库有两个,一个名字是mysql,另一个名字是Discuz。在安装Discuz!时会要求我们输入数据库名,当初添写的是Discuz,所以现在也应该备份此数据库。在备份类型处选择默认的SQL即可,这样保存的文件格式是SQL,也是应用最多兼容性最强的格式。(如图)

第三步:在数据库导出界面的下方是设置数据库文件保存方式,我们勾选“另存为文件”,压缩方式选择ZIP压缩。最后点右小角的“执行”按钮即可。

第四步:之后会出现保存文件的提示窗口,由于刚才我们选择了保存类型为zip格式,所以这里将自动储存为localhost.sql.zip压缩文件。当然我们解压缩此文件就能看到里头的.sql文件内容。(如图)

不管我们是在安装有Discuz!服务器上进行操作还是在虚拟主机上都可以通过PHPMYADMIN来完成数据库的备份工作,保存下来的sql文件是关键,要把他放到一个可靠的地方,为日后恢复备份数据做准备。

四,通过PHPMYADMIN程序恢复数据库:
前面我们介绍了通过PHPMYADMIN备份保存数据库,实际上我们也可以通过此方法恢复已经备份好的数据库。需要注意一点的是数据库名称一定相符。

第一步:当我们需要把以前备份的数据库进行恢复时,在建立Discuz!论坛时设置数据库名称处要特别注意,添写的应该和备份数据库的名称一样。例如保存的数据库名称为Discuz,那么在建立Discuz!论坛设置数据库名称时也要输入Discuz为数据库名,而用户名和密码等信息也应该尽量相同。

第二步:这样通过第一步我们为Discuz!建立了一个和我们保存的数据库名称一样的空数据库。接下来我们通过地址访问phpmyadmin,点主页下方的import进行导入数据库操作。

第三步:在import导入界面的file to import处通过旁边的浏览按钮找到我们以前通过phpmyadmin备份的数据库文件,记住一定要是ZIP格式的,这也是为什么在备份时选择ZIP压缩格式进行保存的原因。其他设置保持默认即可。最后点“执行”按钮。

第四步:当在import导入界面中出现“import has been successfully finished,144 queries executed.”的提示就说明我们的数据库已经成功导入到论坛中。

第五步:再次通过phpmyadmin查看Discuz数据库时就会发现该数据库已经不是空的了,里头有几十个表,每个表里头都有相应的信息与数据。

五,通过Discuz!自身功能恢复数据
前面我们介绍了通过Discuz!自身的备份数据库功能来保存数据库,实际上我们也可以通过论坛自身的恢复数据库功能将保存的数据库导入到论坛中。
第一步:用管理员权限登录论坛并进入后台管理界面,点“数据库->资料恢复”。

第二步:在数据恢复设置中选择“从本地文件”进行恢复,然后通过右边的“浏览”按钮找到之前保存下来的.sql文件。

第三步:点“提交”按钮后将出现询问“分卷数据成功导入数据库,您需要自动导入本次其他的备份吗?”一般我们继续点“确定”按钮即可。之后我们的数据库文件就完全导入到当前论坛了。论坛会出现再次要求你输入管理员帐号的提示。访问论坛地址时你也会看到所有信息都恢复到备份数据库时的内容了。

不管我们采取哪种方式备份和恢复数据库,一定要注意备份和恢复时使用的Discuz!论坛版本要相同,甚至是语言种类也要一致,否则会存在乱码的问题。

FROM: http://www.discuz.net/thread-383649-1-1.html

Til next time,
Jason at 00:00

scribble

About Projects Tool Guestbook