热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Discuz!X3论坛如果管理数据库

Discuz!为站长提供了非常强大的数据库管理功能,可以一键完成诸如数据库备份、恢复、升级、优化、校验等操作。具有高级技术的站长朋友可以通过“升级”完成自己对数据库需要完成的高级操作。下面将对如何使用此类功能,做一个详细的讲解。操作路径:【后台】
Discuz! 为站长提供了非常强大的数据库管理功能,可以一键完成诸如数据库备份、恢复、升级、优化、校验等操作。具有高级技术的站长朋友可以通过“升级”完成自己对数据库需要完成的高级操作。下面将对如何使用此类功能,做一个详细的讲解。
操作路径:【后台】=>【站长】=>【数据库】

1.gif

一、备份

包括备份 Discuz! 数据和 UCenter 数据以及自定义备份。
1、备份 Discuz! 和 UCenter 数据
上图中出现的是数据库备份界面,其中的单选选项默认选择了“Discuz! 和 UCenter 数据”,在这里无需其他设置,直接点击提交即可完成站点所有数据的备份工作。
如果是高级用户,一键备份的选择不能满足您,可以点击上图中的“更多选项”,以此来定制自己需要的备份方式。如下图所示:
2.gif

数据库备份方式默认选择为“Discuz! 分卷备份 - 文件长度限制(kb)”,初始化为2048kb(2MB)
使用扩展插入(Extended Insert)方式 - 使用增量备份的方式,默认为否
建表语句格式 - 使用默认格式,即 MySQL 自身的默认格式。如果是搬家,新服务器 MySQL 版本和现在不同,可以选择对应的MySQL版本。
强制字符集 - 可以不选,如果是需要论坛转码的时候备份用到的需要选择对应的字符集。
十六进制方式 - 默认选择是。十六进制方式可以保证备份数据的完整性,但是备份文件会占用更多的空间。
压缩备份文件 - 默认为不压缩,提高备份的程序执行速度。
备份文件名 - 可以自定义要备份到文件名,后缀名为.sql。
备份成功后将提示:

3.gif

2、自定义备份
可以选择部分数据表进行备份,也可以选择备份所有数据表。
3、备份数据存放目录
在 UCenter 后台备份得到的备份数据存放目录如下:
UCenter 备份数据存放目录:以独立主机为例,UCenter 安装根目录 /data/backup/backup_日期_随机字母/ 目录下
Discuz! 备份数据存放目录:以独立主机为例,Discuz! 安装根目录 /data/backup_日期_随机字母/ 目录下
4、注意事项
1)如果是站点搬家,注意新的虚拟主机要支持 PHP+MySQL 环境,否则迁移后站点无法正常运行;并确保新虚拟主机 MySQL 版本和字符集和原虚拟空间一致( MySQL 版本以4.0和4.1为分割线),否则可能导致恢复后站点乱码等现象。
2)如果安装过插件,建议除了 config 目录外,其余目录、文件全部备份。
除了在论坛后台备份外,如果是独立主机的话,还可以直接打包数据库目录进行备份,也可以使用phpMyAdmin进行备份。

二、恢复

在进行恢复操作之前请先关闭站点,恢复全部完成后可以将站点重新开放。
如何将备份好的数据恢复到站点,如下图所示:
4.gif
本功能在恢复备份数据的同时,将全部覆盖原有数据。
恢复数据前请在 Discuz! X2.5 安装文件目录下 utility 文件夹内找到 restore.php 文件,然后将 restore.php 文件上传到程序文件夹 data 目录下。为了您站点的安全,成功恢复数据后请务必及时删除 restore.php 文件,这样的方式适合多个备份文件恢复。
通过在浏览器中执行 http ://www.discuz.net/data/restore.php 恢复数据
页面会自动刷新服务器备份数据目录中的备份文件,也可以点击上图中右侧的高亮“导入”即可进行数据恢复工作。数据恢复的时间根据站点备份的数据量大小和数据文件的多少有关。

注意:
数据恢复功能只能恢复由当前版本 Discuz! 导出的数据文件,其他软件导出格式可能无法识别。

三、升级
站点默认状态下是禁止 SQL 语句运行的,当您进入数据库升级页面发现此处功能不能使用的时候。请进入站点所在的服务器根目录(FTP文件根目录),找到config/config_global.php文件,将$_config[admincp][runquery] 设置修改为 1 之后,刷新后台的页面,就能进入数据库升级页面了。
数据库升级界面如下图所示:
5.gif

此数据库升级页面,有两种方法供站长选择,一种是打包好的升级语句“常用 SQL 升级语句”,这种是最快速完成需要功能的选择。如果需要扩充打包语句,可以修改 /source/admincp/admincp_quickquery.php 来添加常用 SQL 操作进行功能扩充。默认添加了14 条常用 SQL 升级语句。
第二种是直接输入数据库升级语句,如升级语句:
INSERT INTO pre_common_syscache (cname,ctype,dateline,data) VALUES ('test', '1', 13312341234, 'test')
“既是插入一条测试数据”
写好语句,点击下面的提交,即可。修改结束后,推荐更新一下系统缓存。 四、优化
如同电脑操作系统,Discuz! 也具备数据库碎片整理功能,数据表优化可以去除数据文件中的碎片,使记录排列紧密,提高读写速度。

6.gif

选中要优化的数据表只需要点击“提交”按钮,即可让程序优化数据库中的数据碎片了。


五、校验
本页只有一个按钮;
7.gif

点击即可进行数据库校验。当有出现Discuz!默认的数据库结构与现运行站点的结构不同时,这里将会列出,并提供修复按钮。如下图所示:

8.gif

可以在这里直接修复被修改的字段和缺少的论坛设置参数。


注意:
1、数据库校验只针对 Discuz! 官方发布的数据库结构为基础进行核对。
2、此工具只对字段的修改以及缺少进行简单的检查,不针对索引的缺少进行处理。
通过上面的说明,站长朋友已经可以熟练的进行数据库的备份、恢复、优化、和校验了。通过sql语句的学习,也会很快掌握高级的“升级”功能。


推荐阅读
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文探讨了在MySQL数据库中处理大规模数据删除的最佳实践,包括分批删除、利用索引、管理事务以及选择合适的删除命令等策略,旨在提升删除效率并确保系统稳定。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 本文介绍了如何在两个Oracle数据库(假设为数据库A和数据库B)之间设置DBLink,以便能够从数据库A中直接访问和操作数据库B中的数据。文章详细描述了创建DBLink前的必要准备步骤以及具体的创建方法。 ... [详细]
author-avatar
天涯老许_137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有