`
hudeyong926
  • 浏览: 2037354 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Discuz!X/多数据库配置与使用方法

PHP 
阅读更多

在Discuz!x中,是可以方便的使用多数据库的,可以单独的配置不同的数据库连接。作用估计起来有以下两个好处。

  1. 如果负载足够搞,是可以把很一些表分布在多台数据库服务器中。这样来减小负载
  2. 可以方便的使用别的数据库中的数据。
  3. 还可以把帖子分表,分到不同的数据库服务器中 将帖子拆分到其他数据库

配置方法

在/config/config_global.php 文件中增加数据表和服务器之间的映射关系,还有相应数据库服务器配置。加入以下代码

 //2的意思是随后配置的数据库连接参数
$_config['db']['map']=array('表名'=>'2');

//这里面2对应映射配置
$_config['db']['2']['dbhost'] = 'localhost';
$_config['db']['2']['dbuser'] = 'root';
$_config['db']['2']['dbpw'] = '';
$_config['db']['2']['dbcharset'] = 'gbk';
$_config['db']['2']['pconnect'] = '0';
$_config['db']['2']['dbname'] = '数据库名';
//这个参数其实没有用,要照我随后的修改就可以用了
$_config['db']['2']['tablepre'] = 'cdb_';
 

使用方法

在程序中使用就很方便了。直接使用DB静态对象

print_r(DB::fetch_first("SELECT * FROM ".DB::table('表名')." limit 1")); 

注意事项

  1. 一定要使用DB::table方法,因为通过这个方法来转换数据库连接。
  2. 一些联表查询不能使用
  3. 外联数据库的表前缀一定得和现在的表前缀一样。如 pre_表名

一些额外的修改

如果需要使用其它数据库的非Discuz的表,可以修改 class_core 的 table_name 函数,这样就不用限制 pre_ 表前缀了。而且配置中的数据库前缀也可以用了。

function table_name($tablename) {
	if(!empty($this->map) && !empty($this->map[$tablename])) {
		$id = $this->map[$tablename];
		if(!$this->link[$id]) {
			$this->connect($id);
		}
		$this->curlink = $this->link[$id];
		//增加了这一句
		return $this->config[$id]['tablepre'].$tablename;
	} else {
		$this->curlink = $this->link[1];
	}

	return $this->tablepre.$tablename;
}
 

 

分享到:
评论

相关推荐

    Discuz!7.2/UCHome 2.0/SupeSite 7.5 到 Discuz!X1.5 升级/转换图文教程

    4. **检查与设置**:升级完成后,进入后台检查并根据提示进行必要的配置调整。 5. **清理与测试**:删除转换程序,重启站点,测试各项功能是否正常。 整个升级过程中,务必谨慎操作,确保每个环节都按照教程进行,...

    Discuz!X3.5 X3.4腾讯云全局配置插件 1.0.0.zip

    可能包括PHP脚本(用于处理后台逻辑)、前端界面文件(HTML、CSS和JavaScript)、数据库配置文件以及任何必要的文档或帮助文件。 通过安装和使用这个插件,Discuz! 用户可以轻松地连接到腾讯云服务,例如存储服务...

    Discuz! X3.1

    用户应仔细阅读这个文件,了解如何正确安装和配置Discuz! X3.1,以及新版本带来的变化。 综上所述,Discuz! X3.1 是一款强大且易于使用的论坛软件,通过其丰富的功能和易用性,满足了不同用户群体的需求。无论是...

    Discuz!X3.1 全新安装图文教程

    ### Discuz!X3.1 全新安装图文教程知识点详解 #### 一、Discuz!X3.1 概述 **Discuz!X3.1**是Comsenz公司开发的一款非常...X3.1的安装,并根据自身需求进行相应的配置与优化,构建出一个既美观又实用的社区论坛平台。

    Discuz_X3.1数据库sql文件

    你还可以通过优化数据库配置,提升论坛的性能。 配合《说明.txt》文件,用户可以获取更具体的导入指南和注意事项,例如数据库连接设置、SQL执行环境的要求等。这份文档通常会提供关键的提示和解决常见问题的方法,...

    Discuz! X3.4源码

    1. "说明.htm":这通常是官方提供的安装指南或使用说明,包含了软件的基本操作步骤、配置建议以及常见问题解答。 2. "dir_SC_UTF8":这个目录名可能指的是字符集为UTF-8的文件夹,通常包含论坛的各种语言包、模板...

    Discuz_X1.5数据库详解

    Discuz_X1.5是一款广泛使用的社区论坛软件,其数据库设计是其核心组成部分,用于存储和管理论坛的各种数据。下面我们将对其中的关键表进行详细解析,以了解其数据库结构和功能。 1. pre_common_addon:这个表存储了...

    discuz!NT转discuz x 工具

    - **文件适配**:除了数据,还需要处理模板、插件、配置文件等,确保它们与Discuz!X的框架兼容。 2. **核心组件分析**: - **default.html**: 这通常是网站的默认首页,可能包含一些基本的HTML结构和样式,用于...

    Discuz!X数据库字典.

    ### Discuz!...X数据库字典中部分表格的功能介绍及应用场景,通过对这些知识点的学习,可以更加深入地理解Discuz!X的内部架构及其运作机制,进而有效利用这些资源来提升论坛的管理效率和用户体验。

    Discuz! X2.5 愤怒的小鸟插件V1.0.rar

    X2.5 愤怒的小鸟插件V1.0》是一款旨在提升论坛趣味性和用户黏性的工具,它在提供娱乐体验的同时,也注重了与论坛系统的兼容性和安全性,是Discuz! 论坛运营者增强用户互动和活跃度的一个理想选择。在使用过程中,...

    Discuz!_X2.5_数据字典-pdf 版本

    X2.5社区论坛系统的数据库表结构提供全面的解释与说明。通过这份文档,用户可以更深入地了解每个表的作用、字段含义以及其在系统中的作用,这对于开发人员和运维人员来说是非常宝贵的资源。 #### 关键知识点 ####...

    Discuz! X2.5 添加自定义数据调用模块(简单方法)

    X2.5 添加自定义数据调用模块(简单方法) #### 知识点一:Discuz! X2.5 平台简介 Discuz! 是一款由Comsenz公司开发的通用社区系统软件,是全球范围内非常受欢迎的论坛程序之一。X2.5版本是该系列中的一个稳定...

    Discuz! X2.5 全站论坛目录结构

    X2.5 时使用。 - `language`:多语言包目录,支持不同语言的界面。 2. **源代码目录(source)**: - `class`:类库文件,包括各种系统类和接口。 - `include`:包含文件,如函数库、配置文件等。 - `library`:...

    基于PHP的Discuz! X2.5 社区建站系统 Build 繁体中文UTF-8.zip

    - 数据库导入:使用MySQL客户端工具将Discuz! X2.5提供的SQL文件导入数据库。 - 安装向导:访问Web服务器上的安装目录,按照向导步骤完成配置,包括填写站点信息、数据库连接参数等。 - 后台管理:安装完成后,...

    Discuz_X3.4_SC_UTF8【20200818】.zip

    X3.4 SC_UTF8【20200818】的安装步骤、配置要求和可能遇到的问题。建议用户在安装前仔细阅读,遵循指导,以避免可能出现的错误。 此外,描述中提到的博客可能提供了更详尽的安装教程和问题解决方案。博主分享了...

    Xweibo For Discuz! X2.0 v2.1 正式版.rar

    本身的环境相同,这意味着用户无需额外调整数据库配置即可安装Xweibo。这样的设计考虑到了用户的便捷性和资源利用效率。 升级到v2.1版本后,Xweibo不仅优化了性能,提高了稳定性,还可能增加了一些新特性,例如更...

    Discuz!_X2.5_数据库表详细说明

    X2.5 数据库表详细说明 #### 一、概述 Discuz! X2.5 是一款非常流行的论坛系统,基于PHP+MySQL技术构建。在论坛的日常管理和维护过程中,对数据库的操作至关重要。本文将详细介绍Discuz! X2.5 中几个重要的数据库...

    网址导航模块 For Discuz!X1.5 v1

    在安装和使用此模块时,需要正确配置数据库连接参数。 5. **网址导航功能**:该模块提供的功能可能包括分类管理(如按类别划分网址)、网址添加/编辑(允许管理员添加新的网址或修改现有链接)、搜索功能(帮助用户...

    Discuz! x2.5乌托邦模板

    模板的设计和实现都需要考虑到网页的加载速度、易用性以及与Discuz! 后台系统的兼容性。 至于【压缩包子文件的文件名称列表】"discuz2066",这可能是模板的压缩包文件名,但没有具体说明其包含的详细内容。通常,一...

Global site tag (gtag.js) - Google Analytics