您的当前位置:首页 >> 建站学院 >> 网站运营

一个论坛添加多个数据库 [详细教程]

来源:无锡做网站  作者:35on  时间:2014/6/16 14:33:55

GD的用户现在不用担心数据库1G的限制了!
DZ从X2版本开始已经支持数据库分布式部署啦....
也就是说,我们的数据库可以无限大了....  

经过昨天的N次测试,备份和恢复了无数次数据库之后,证明了这个功能是可行,并且有效的!
教程如下:

注意: 本教程只适用于Discuz X2  或者之后新出的版本!

一, 准备工作
     (1) 设置论坛为关闭!
     (2) 进入论坛后台进行全站备份! 如果你很懒,也可以省略这步,但失误风险会提高!
     (3) 登陆GD,创建第二个数据库!
     (4) 进入第一个数据库(也就是你原先在使用的那个),然后进行备份! 
      创建或备份数据库方法请参考:http://bbs.idcspy.com/thread-44137-1-1.html
     (5) 备份完之后删除第一数据库的数据表! 操作如下:
      
      点击第一个"Manage via phpMyAdmin"进入phpMyAdmin页面,然后登陆管理!


      



      点击右侧你自己的论坛数据表!

      information_schema 不要去动它!


        


      全选数据库表,然后选删除!

      


      点最右下角的"是",完成删除! 图片上的"是"被本站的LOGO挡住了!

       

     做完这一步以后,你的第一个数据库已经备份好了,并且清空了!

     第二个数据库也是空的!


二, 配置 config_global.php 文件

    (1) 打开FTP,找到论坛根目录中的config_global.php文件!  例: .../bbs/config/config_global.php

    (2) 下载并备份config_global.php,以防修改错误!

    (3) 编辑config_global.php 方法如下:


    找到如下代码

复制内容到剪贴板
代码:
// ----------------------------  CONFIG DB  ----------------------------- //
$_config['db']['1']['dbhost'] = '数据库地址';
$_config['db']['1']['dbuser'] = '数据库用户名';
$_config['db']['1']['dbpw'] = '数据库密码';
$_config['db']['1']['dbcharset'] = 'gbk';
$_config['db']['1']['pconnect'] = '0';
$_config['db']['1']['dbname'] = '数据库名';
$_config['db']['1']['tablepre'] = 'pre_';
$_config['db']['common']['slave_except_table'] = '';
// --------------------------  CONFIG MEMORY  --------------------------- //

    添加第二个数据库资料! 注意数据库编号

复制内容到剪贴板
代码:
$_config['db']['2']['dbhost'] = '第二数据库地址';
$_config['db']['2']['dbuser'] = '第二数据库用户名';
$_config['db']['2']['dbpw'] = '第二数据库密码';
$_config['db']['2']['dbcharset'] = 'gbk';
$_config['db']['2']['pconnect'] = '0';
$_config['db']['2']['dbname'] = '第二数据库名';
$_config['db']['2']['tablepre'] = 'pre_';

    添加数据表部署! 我自己是把三个表转移到第二数据库,分别是session数据表,帖子标题表,帖子内容表!

    你也可以自行添加其它数据表! 转到那个数据库,最后的数字就填几!

复制内容到剪贴板
代码:
$_config['db']['map']['common_session'] = 2;
$_config['db']['map']['forum_thread'] = 2;
$_config['db']['map']['forum_post'] = 2;

    最后修改后的代码如下,

复制内容到剪贴板
代码:
// ----------------------------  CONFIG DB  ----------------------------- //
$_config['db']['1']['dbhost'] = '数据库地址';
$_config['db']['1']['dbuser'] = '数据库用户名';
$_config['db']['1']['dbpw'] = '数据库密码';
$_config['db']['1']['dbcharset'] = 'gbk';
$_config['db']['1']['pconnect'] = '0';
$_config['db']['1']['dbname'] = '数据库名';
$_config['db']['1']['tablepre'] = 'pre_';

$_config['db']['2']['dbhost'] = '第二数据库地址';
$_config['db']['2']['dbuser'] = '第二数据库用户名';
$_config['db']['2']['dbpw'] = '第二数据库密码';
$_config['db']['2']['dbcharset'] = 'gbk';
$_config['db']['2']['pconnect'] = '0';
$_config['db']['2']['dbname'] = '第二数据库名';
$_config['db']['2']['tablepre'] = 'pre_';

$_config['db']['map']['common_session'] = 2;
$_config['db']['map']['forum_thread'] = 2;
$_config['db']['map']['forum_post'] = 2;

$_config['db']['common']['slave_except_table'] = '';
// --------------------------  CONFIG MEMORY  --------------------------- //

    (4) 把修改好的config_global.php上传至FTP,替换原来的!



三, 恢复数据


    (1) 把第一数据库备份出来的资料恢复到第一和第二数据库,让两个数据库的数据表保持相同!

         注意的是一定要两个数据库都是空的前提下恢复!


    (2) 复制好数据库之后打开论坛,此时一定会提示出错! 如下图:

          Error messages中,你部署了几个表,它就会提示几个表!



       


    (3) 删除第二数据库中的其它文件,只保留做过部署的那三个文件!

    (4) 之后再刷新就可以进论坛了,但是论坛CSS会出错,需要去后台更新模板缓存,然后把全站的缓存都更新一下!

    (5) 设置论坛开放,大功告成~~~~~当当当当!!!!


四, 总结


     (1) 以上方法是用户已经安装的论坛!

          如果是要准备全新安装论坛的话请先修改本地config文件夹中的 config_global_default 文件!

     (2) 如果数据库多次出现错误,以及全新安装部署说明的请参考: http://www.discuz.net/thread-2065103-1-1.html

     (3) 修改数据库部署非常危险,操作前请斟酌!

网站地图 Copyright©2017-2018 三五在线科技 版权所有 苏ICP备11076999号-2