mysql的讀寫分離 laravel實現數據庫讀寫分離配置或者多讀寫分離配置

一、laravel實現數據庫讀寫分離配置或者多讀寫分離配置php

配置config\database.php裏
'connections' => array (
      //默認mysql配置,訪問test庫
     'mysql' => array (
         'driver'    => 'mysql' ,
         'host'      => '192.168.16.70' ,
         'port'      =>  '3306' ,
         'database'  => 'test' ,
         'username'  => 'test' ,
         'password'  => '123456' ,
         'charset'   => 'utf8' ,
         'collation' => 'utf8_unicode_ci' ,
         'prefix'    => '' ,
     ),
     //自定義mysql鏈接,訪問media庫
     'media' => array (
         'read' => array (
             array ( 'host' => '192.168.16.74' , 'port' => 3306),
             array ( 'host' => '192.168.16.70' , 'port' => 3306),
         ),
         'write' => array (
             'host' => '192.168.16.70' , 'port' => 3306
         ),
         'driver'    => 'mysql' ,
         'database'  => 'media' ,
         'username'  => 'test' ,
         'password'  => '123456' ,
         'charset'   => 'utf8' ,
         'collation' => 'utf8_unicode_ci' ,
         'prefix'    => '' ,
     ),
 
二、爲何要用Amoeba?

解釋:目前要實現mysql的主從讀寫分離,主要有如下幾種方案:html

一、  經過程序實現,網上不少現成的代碼,比較複雜,若是添加從服務器要更改多臺服務器的代碼。mysql

二、  經過mysql-proxy來實現,因爲mysql-proxy的主從讀寫分離是經過lua腳原本實現,目前lua的腳本的開發跟不上節奏,而寫沒有完美的現成的腳本,所以致使用於生產環境的話風險比較大,據網上不少人說mysql-proxy的性能不高。laravel

三、  本身開發接口實現,這種方案門檻高,開發成本高,不是通常的小公司能承擔得起。sql

四、  利用阿里巴巴的開源項目Amoeba來實現,具備負載均衡、高可用性、sql過濾、讀寫分離、可路由相關的query到目標數據庫,而且安裝配置很是簡單。
具體配置:訪問-----http://www.cnblogs.com/lhj588/archive/2012/11/19/2777897.html 博客     
相關文章
相關標籤/搜索