所謂多數(shù)據(jù)的從主關(guān)系及讀寫(xiě)分離,由于某種原因時(shí),當(dāng)主數(shù)據(jù)庫(kù)不能訪問(wèn)或連接時(shí),系統(tǒng)會(huì)認(rèn)定為“故障轉(zhuǎn)移”, 這些“故障轉(zhuǎn)移”可以通過(guò)設(shè)置“故障轉(zhuǎn)移”指定的數(shù)據(jù)庫(kù),從而使網(wǎng)站不會(huì)隨數(shù)據(jù)庫(kù)而掛掉。
打開(kāi)/config/database.php文件:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); $active_group = 'default'; $query_builder = TRUE; $db['default'] = array( ... 以上是默認(rèn)內(nèi)容 ... ); ... 以上是默認(rèn)內(nèi)容 ... #以下是我為“default”設(shè)置故障處理庫(kù) $db['default']['failover'] = array( array( 'dsn' => '', 'hostname' => '127.0.0.1', // 備用數(shù)據(jù)1 'username' => 'root', 'password' => '', 'port' => '3306', 'database' => 'vip', 'dbdriver' => 'mysqli', 'dbprefix' => 'dr_', 'pconnect' => FALSE, 'db_debug' => TRUE, 'cache_on' => FALSE, 'cachedir' => 'cache/sql/', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'autoinit' => FALSE, 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, ), array( 'dsn' => '', 'hostname' => '127.0.0.1', // 備用數(shù)據(jù)2 'username' => 'root', 'password' => '', 'port' => '3306', 'database' => 'vip2', 'dbdriver' => 'mysqli', 'dbprefix' => 'dr_', 'pconnect' => FALSE, 'db_debug' => TRUE, 'cache_on' => FALSE, 'cachedir' => 'cache/sql/', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'autoinit' => FALSE, 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, ), );
你可以設(shè)置多個(gè)備用庫(kù)來(lái)應(yīng)付故障的處理,當(dāng)然前提需要這些庫(kù)的數(shù)據(jù)同步(一般數(shù)據(jù)庫(kù)服務(wù)器有這種同步機(jī)制)。
文檔最后更新時(shí)間:2015-02-26 09:07:30