Discuz! X2.5读写分离

Discuz! X2.5内置了读写分离的功能,方便一些负载比较大的站点使用,降低服务器的负载。但Discuz! X 2.5 默认未开启此功能,需要在配置文件中做相应的修改,此功能才会开启。下面介绍一下开启Discuz! X 2.5读写分离的设置方法:

1、前期准备

在配置读写分离之前,需要在数据库服务器上先配置好MySQL主从设置,设置方法详见 MySQL主从设置

2、调整配置

打开X2的配置文件,config/config_global.php:

编辑

$_config[‘db‘][‘common‘][‘slave_except_table‘] = ‘‘;

改为

$_config[‘db‘][‘common‘][‘slave_except_table‘] = ‘common_session‘;

然后在刚才编辑的那行下面加入从库配置:

$_config[‘db‘][‘slave‘][‘1‘][‘dbhost‘] = ‘192.168.1.2‘;

$_config[‘db‘][‘slave‘][‘1‘][‘dbuser‘] = ‘root‘;

$_config[‘db‘][‘slave‘][‘1‘][‘dbpw‘] = ‘password‘;

$_config[‘db‘][‘slave‘][‘1‘][‘dbcharset‘] = ‘gbk‘;

$_config[‘db‘][‘slave‘][‘1‘][‘pconnect‘] = ‘0‘;

$_config[‘db‘][‘slave‘][‘1‘][‘dbname‘] = ‘discuz‘;

$_config[‘db‘][‘slave‘][‘1‘][‘tablepre‘] = ‘pre_‘;

保存后即可生效。

如果要添加多台从库,那么可以继续添加:

$_config[‘db‘][‘slave‘][‘2‘][‘dbhost‘] = ‘192.168.1.3;

$_config[‘db‘][‘slave‘][‘2‘][‘dbuser‘] = ‘root‘;

$_config[‘db‘][‘slave‘][‘2‘][‘dbpw‘] = ‘password‘;

$_config[‘db‘][‘slave‘][‘2‘][‘dbcharset‘] = ‘gbk‘;

$_config[‘db‘][‘slave‘][‘2‘][‘pconnect‘] = ‘0‘;

$_config[‘db‘][‘slave‘][‘2‘][‘dbname‘] = ‘discuz‘;

$_config[‘db‘][‘slave‘][‘2‘][‘tablepre‘] = ‘pre_‘;

时间: 2024-11-05 23:42:17

Discuz! X2.5读写分离的相关文章

Keepalived+HAProxy基于读写分离方式实现discuz论坛

一.测试环境: centos 6.6:使用8台虚拟机(上图) 分别对它们设置主机名: 主机名 ip地址 软件包 node1 172.16.16.11 keepalived+haproxy node2 172.16.16.12 keepalived+haproxy php1 172.16.16.2 httpd+php+php-mysql+nfs-utils php2 172.16.16.8 httpd+php+php-mysql+nfs-utils web1 172.16.16.3 httpd w

Amoeba-mysql主从+读写分离实战+测试+排错

Amoeba-mysql读写分离实战 Amoeba用途有很多,这里看标题我们就先说读写分离,因为我也只会这个.Amoeba定义为国内的,开源的.目前(2015年10月20日)我们用amoeba2.2版本来做. 先说一下本人环境: Mysql 5.6 Centos 6.4 Mysql一主两从已OK. Amoeba 2.2.x Amoeba下载地址:http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/ 由于Amoeba需

mycat实现MySQL读写分离

mycat实现MySQL读写分离 mycat是什么 Mycat是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而Mycat并没有存储引擎,所以并不是完全意义的分布式数据库系统.Mycat是数据库中间件,就是介于数据库与应用之间,进行数据处理与交互的中间服务.对数据进行分片处理之后,从原有的一个库,被切分为多个分片数据库,所有的分片数据库集群构成了整个完整的数据库存储. Mycat的几个典型的应用场景: 单纯的读写分离,此时配置最为简单,支持读写分离,主从切换: 分表分库,对于超过

mysql读写分离(PHP类)

mysql读写分离(PHP类) 博客分类: php mysql 自己实现了php的读写分离,并且不用修改程序 优点:实现了读写分离,不依赖服务器硬件配置,并且都是可以配置read服务器,无限扩展 缺点:错误转移不购明确,现只有3次尝试机会,失败了就会选择其他的服务器.当服务器恢复时,需要手动去消除错误日志不人性化 修改于discux x 的mysql类 配置文件 "db"=>array(        '1'=>array(            'dbhost'=>

使用mysql-proxy实现读写分离

mysql-proxy实现MySQL读写分离 使用二进制格式的mysql-proxy的安装配置 mysql-proxy本身并不能进行读写分离,要实现读写分离要依赖于lua,所以要先查看是否安装了lua,如果没有安装使用yum install安装上即可 ~]# rpm -q lua lua-5.1.4-4.1.el6.x86_64 创建系统用户 useradd -r mysql-proxy 解压包创建链接文件 tar zxf mysql-proxy-0.8.5-linux-el6-x86-64bi

mysql读写分离的三种实现方式

1 程序修改mysql操作类可以参考PHP实现的Mysql读写分离,阿权开始的本项目,以php程序解决此需求.优点:直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配缺点:自己维护更新,增减服务器在代码处理 2 amoeba参考官网:http://amoeba.meidusa.com/优点:直接实现读写分离和负载均衡,不用修改代码,有很灵活的数据解决方案缺点:自己分配账户,和后端数据库权限管理独立,权限处理不够灵活 3 mysql-proxy参考 mysql-proxy

mysql主从复制与读写分离

MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面. 因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部

mysql读写分离

mysql读写分离  静态分离:直接将服务器地址写入程序  动态分离:通过代理服务器对数据进行读写操作,由代理服务器判定读写操作,在主服务器上写数据,在          从服务器上读数据.    1.使用mysql-proxy实现读写分离  # ./mysql-proxy --proxy-backend-addresses=10.0.5.150:3306 --proxy-read-only-backend-addresses=10.0.5.151:3306 --proxy-lua-script

测试ReplicaSets读写分离和故障转移

读写分离实现步骤: 从库能够进行查询就更好了,这样可以分担主库的大量的查询请求. 1) 先向主库中插入一条测试数据 rs1:PRIMARY> db.c1.insert({age:30});db.c1.insert({age:30}); WriteResult({ "nInserted" : 1 }) rs1:PRIMARY>  db.c1.find() db.c1.find() { "_id" : ObjectId("5791ef011f4c6