实现Discuz x3.1 读写分离

来源:互联网 发布:大数据平台成熟度评估 编辑:程序博客网 时间:2024/05/17 08:07

因为公司网站的用户量越来越大,所以考虑到给服务器减轻负载,就想到mysql主从配置,然后就想通过mysql主从配置实现Discuz x3.1的数据库读写分离。实现步骤如下:

第一步: MySQL主从设置之主服务器A设置

1.  找到主服务器A的MySQL的配置文件my.ini

20141217002107

2. 打开my.ini,在[mysqld]下面添加以下参数

20141217002251

3. 在主服务器A中添加一个用于主从复制的帐号:

登陆mysql命令行,执行

GRANT REPLICATION SLAVE ON *.* TO ‘帐号’@’从服务器IP’ IDENTIFIED BY ‘密码';

20141217002727

4. 重启MySQL ,让配置生效

5. 可以通过show master status\G;查看主从数据库是否配置成功。

20141217003356

第二步: MySQL主从设置之主数据库和从数据库数据一致。

1.  关闭论坛访问,停止更新数据

20141217004134

2. 在主服务器中加入只读锁

20141217004356

3. 导出数据库

通过命令导出数据库 mysqldump -u root -p 数据库名 > 导出来的位置

20141217004933

 

4. 将主服务器的数据库导入到从服务器的数据库

20141217010241

5. 将主数据库服务器解除只读锁

20141217010517

 

 

6.  开启论坛访问。

 

第三步:MySQL主从设置之从服务器B设置

1. 找到从服务器mysql配置文件my.cnf (主服务器是windows,从服务器是Linux。所以配置文件的后缀不一致)

20141217011657

2. 打开my.cnf,在[mysqld]下面添加以下参数

20141217012140

3. 重启从数据库

20141217012341

4、登录从库的MySQL命令行,执行:

change master to master_host=’主服务器IP’, master_user=’主服务器账号’, master_password=’主服务器密码’, master_log_file=’file的值’, master_log_pos=position的值;

//设置连接信息,file及position的值是之前记录下来(在主服务器上通过show master status\G;),position的值没有单引号,其他的值要单引号

20141217013520

5. 启动从库连接

start slave; //启动从库连接

20141217013700

6、查看从库状态:

show slave status\G; //查看连接情况

20141217020252

7、编辑从MYSQL服务器的MySQL配置文件my.cnf,在[mysqld]下面添加以下参数:

20141217020541

8. 测试,可以在主服务器上添加数据或者删除数据,从服务器会对应更新过来。

第四步: 读写分离

打开discuz x3.1的配置文件config/config_global.php

20141217023111

20141217023019

20141217023212

转载请注明:Jhonse技术博客 - 关注技术资讯以及技术文章的IT博客 » 实现Discuz x3.1 读写分离

0 0
原创粉丝点击