Discuz!是目前应用最为广泛的PHP论坛,以运行高效,维护方便,搭建简单而著称。很多用户都搭建了自己的Discuz!论坛,在使用过程中会遇到诸如空间服务提供商主机出问题,Discuz!论坛版本升级,安装各种插件造成论坛崩溃的问题,如何才能保证在这些问题发生后依然可以继续使用论坛呢?其中的关键就是将自己论坛的数据库备份好,只要数据库还在那么恢复论坛完好无损就是一个简单的工作。今天笔者就为各位介绍如何备份和恢复Discuz!论坛数据库。
一,Discuz!论坛数据库简介:
在我们学习备份和恢复Discuz!论坛数据库之前需要了解其自身机理。我们现在使用的Discuz!论坛所用数据库是MYSQL数据库。他也是目前为止与PHP兼容性最好的数据库。在实际使用中我们只需要把论坛对应的数据库文件备份出来即可,这个数据库文件将包括论坛所有表内容以及各个参数信息。
我们有两种方法来备份和恢复Discuz!数据库,一个是通过Discuz!论坛内置的数据库备份功能来实现,而另外一个则是通过MYSQL数据库专业备份工具——PHPMYADMIN来实现。不管是哪种方法我们都可以在备份后轻松的将论坛恢复。各个帖子各个主题以及所有用户及其权限完好如初。
二,通过Discuz!内置备份功能保存数据库:
安装并运行Discuz!论坛一段时间后我们可以通过其后台的备份功能保存数据库文件。
第一步:用管理员权限登录论坛,在首页点右上角的系统设置进入后台管理界面。(如图1
第二步:后台管理界面中我们在左侧到数据库->资料备份。然后你会看到数据备份类型选项,一般我们保持默认的标准备份即可,他将备份包括常用的数据表在内的数据信息。如果是选择全部备份则保存全部论坛数据表内容,最小备份则是保存包括用户,板
块设置及系统设置在内的数据,另外如果我们对数据库并不是十分了解的话,不建议大家通过自定义备份来设置。(如图2
小提示:
在我们进行数据库备份类型设置时即使选择了全部备份也应该注意一点,那就是这样备份的信息里是不包括模板文件和附件文件的。模板和附件还有用户自定义头像等信息的备份
只能通过FTP下载./templates./attachments./customavatars这些目录里的内容人工备份。当然如果你是对服务器自身操作也需要把这些目录内容复制到其他地方。
第三步:接下来是设置数据备份方式,我们保持默认值“Discuz!分卷备份-文件长度限制为2048Kb”即可。
第四步:数据备份选项中大部分信息保持默认即可,在备份文件名处可以输入我们要备份的数据库保存文件名称,当然默认会根据保存日期随机起一个名字,这个名称我们也是可以修改的。(如图3
第五步:点提交按钮开始备份数据库,很快就能看到Discuz!的提示——“恭喜您,全部一个备份文件成功创建,备份完成。(如图4
第六步:我们用鼠标左键点下面那个数据库文件链接将查看该数据库文件的内容,如果懂得数据库语言的用户可以通过此文件了解自己论坛的一些基本信息。把这些文件复制下来保存成一个以后缀名sql为结尾的文件就实现了备份工作。(如图5
第七步:当然我们直接用鼠标右键点第五步显示的数据库文件链接,并且选择另存为可以将这个数据库文件保存到本地硬盘。(如图6
小提示:
如果我们把论坛建立在自己的服务器或主机上的话可以到Discuz!安装目录中的forumdata目录到刚刚备份的.sql文件,直接将他进行保存即可。(如图7
当然如果是远程虚拟主机的话就需要通过FTP登录工具访问Discuz!所在目录里的forumdate目录下载对应的.sql文件。(如图8

三,通过PHPMYADMIN备份数据库:
一般来说专业的正规的备份MYSQL数据库的方法是通过PHPMYADMIN这个工具,下载最新版本的PHPMYADMIN后将他解压缩到网站发布文件夹中,例如www目录是发布目录,那么就把phpmyadmin解压缩到此目录中。接下来我们通过ip地址/phpmyadmin来访
PHPMYADMIN管理程序。
小提示:
如果是虚拟主机的话也可以直接把PHPMYADMIN程序上传到虚拟空间中,访问PHPMYADMIN的方法和上面介绍的一样。
第一步:登录PHPMYADMIN管理界面后选择导出。(如图9
第二步:在数据库导出界面中我们能看到当前系统中存在的数据库名,例如笔者的数据库有两个,一个名字是mysql,另一个名字是pacino。在安装Discuz!时会要求我们输入数据库名,当初添写的是pacino,所以现在也应该备份此数据库。在备份类型处选择默认的SQL即可,这样保存的文件格式是SQL,也是应用最多兼容性最强的格式。(如图10
第三步:在数据库导出界面的下方是设置数据库文件保存方式,我们勾选另存为文件,压缩方式选择ZIP压缩。最后点右小角的执行按钮即可。(如图11
第四步:之后会出现保存文件的提示窗口,由于刚才我们选择了保存类型为zip格式,所以这里将自动储存为localhost.sql.zip压缩文件。当然我们解压缩此文件就能看到里头的.sql文件内容。(如图12
不管我们是在安装有Discuz!服务器上进行操作还是在虚拟主机上都可以通过PHPMYADMIN来完成数据库的备份工作,保存下来的sql文件是关键,要把他放到一个可靠的地方,为日后恢复备份数据做准备。

四,通过PHPMYADMIN程序恢复数据库:
前面我们介绍了通过PHPMYADMIN备份保存数据库,实际上我们也可以通过此方法恢复已经备份好的数据库。需要注意一点的是数据库名称一定相符。
第一步:当我们需要把以前备份的数据库进行恢复时,在建立Discuz!论坛时设置数据库名称处要特别注意,添写的应该和备份数据库的名称一样。例如笔者保存的数据库名称为pacino,那么在建立Discuz!论坛设置数据库名称时也要输入pacino为数据库名,而用户名和密码等信息也应该尽量相同。(如图13
第二步:这样通过第一步我们为Discuz!建立了一个和我们保存的数据库名称一样的空数据库。接下来我们通过地址访问phpmyadmin,点主页下方的import进行导入数据库操作。(如图14
第三步:在import导入界面的file to import处通过旁边的浏览按钮到我们以前通过phpmy
admin备份的数据库文件,记住一定要是ZIP格式的,这也是为什么在备份时笔者告诉大家选择ZIP压缩格式进行保存的原因。其他设置保持默认即可。最后点执行按钮。(如图15
第四步:当在import导入界面中出现“import has been successfully finished,144 queries executed.”的提示就说明我们的数据库已经成功导入到论坛中。(如图16
第五步:再次通过phpmyadmin查看pacino数据库时就会发现该数据库已经不是空的了,里头有几十个表,每个表里头都有相应的信息与数据。(如图17

五,通过Discuz!自身功能恢复数据库:
前面我们介绍了通过Discuz!自身的备份数据库功能来保存数据库,实际上我们也可以通过论坛自身的恢复数据库功能将保存的数据库导入到论坛中。
怎样恢复数据
第一步:用管理员权限登录论坛并进入后台管理界面,点数据库->资料恢复。(如图18
第二步:在数据恢复设置中选择从本地文件进行恢复,然后通过右边的浏览按钮到之前保存下来的.sql文件。(如图19
第三步:点提交按钮后将出现询问分卷数据成功导入数据库,您需要自动导入本次其他的悲愤吗?一般我们继续点确定按钮即可。之后我们的数据库文件就完全导入到当前论坛了。论坛会出现再次要求你输入管理员帐号的提示。访问论坛地址时你也会看到所有信息都恢复到备份数据库时的内容了。(如图20
小提示:
不管我们采取哪种方式备份和恢复数据库,一定要注意备份和恢复时使用的Discuz!论坛版本要相同,甚至是语言种类也要一致,否则会存在乱码的问题。
六,总结:
上面介绍了两种备份和恢复数据库的方法,就个人感觉来说当你的论坛数据库容量不大时选择Discuz!论坛自带的备份和恢复方法是比较方便的,而当论坛数据库容量比较大时采取论坛自带备份功能可能会出现备份时间过长的情况,这时就应该使用phpmyadmin来解决了。
当然不管怎样一个论坛的核心就是他的数据库,里面储存着帖子,主题,用户,附件等关键内容。如果一个论坛的数据库丢失了,那么要想恢复人气是一件非常困难的事情,所以
说在日常我们管理Discuz!论坛时一定要定期对数据库进行保存,保存周期要根据论坛的访问人数和主题数目决定,一般人气越旺备份的周期就越频繁,对于个人论坛来说基本上每个月针对数据库备份一次到两次即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。