zoukankan      html  css  js  c++  java
  • ThinkPHP的主从数据库配置

    Thinkphp 框架本身是支持读写分离的,如何做呢?
     
    最简单的做法是在配置文件中修改:
     
    PHP代码
    1. 'DB_TYPE'=> 'mysql',     
    2. 'DB_DEPLOY_TYPE' => 1,  //开打支持多服务器                  
    3. 'DB_RW_SEPARATE'=>true, //读写<strong>分离</strong>分开    
    4. 'DB_HOST'=> '192.168.100.78,192.168.100.60', // 数据库服务器地址 master(写)/slave(读)    
    5. 'DB_NAME'=>'test',                   
    6. 'DB_USER'=>'root',                 
    7. 'DB_PWD'=>'root',           
    8. 'DB_PREFIX' => 'fav_',     
    默认第一台数据库78是主数据库,负责写入操作,第二台60负责读操作,Thinkphp 会自动识别读和写,然后分配链接对应的数据库,来达到读写分离的效果。
     
    注意事项:
     
    1. 如果要设置分布式数据库,暂时不支持DB_DSN方式配置。
    2.如果你当前采用了分布式数据库,并且设置了读写分离的话,query方法始终是在读服务器执行,因此query方法对应的都是读操作,而不管你的SQL语句是什么。
    3.如果你当前采用了分布式数据库,并且设置了读写分离的话,execute方法始终是在写服务器执行,因此execute方法对应的都是写操作,而不管你的SQL语句是什么。
     
    因此,'DB_DSN'=> 'mysql:host=192.168.100.60;dbname=51fanli_cang', 这种方式不支持主从分离,需要改。
     
    当采用原生态的sql语句进行写入操作的时候,要用execute,读操作要用query,切记,否则乱掉了。
     
    A buddhist programmer.
  • 相关阅读:
    读《构建之法》第一,二,十六章的奇思妙想
    四则运算
    鉴权
    sql注入
    【信息安全作业5】散列函数的应用及其安全性
    结对作业 -GUI四则运算
    阅读《构建之法》四章、十七章
    2016012064+小学四则运算练习软件项目报告
    简单四则运算一
    梦想开花的地方
  • 原文地址:https://www.cnblogs.com/wszz/p/7878489.html
Copyright © 2011-2022 走看看