所謂多數(shù)據(jù)的從主關(guān)系及讀寫分離,由于某種原因時(shí),當(dāng)主數(shù)據(jù)庫不能訪問或連接時(shí),系統(tǒng)會(huì)認(rèn)定為“故障轉(zhuǎn)移”, 這些“故障轉(zhuǎn)移”可以通過設(shè)置“故障轉(zhuǎn)移”指定的數(shù)據(jù)庫,從而使網(wǎng)站不會(huì)隨數(shù)據(jù)庫而掛掉。
打開/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è)置故障處理庫
$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è)備用庫來應(yīng)付故障的處理,當(dāng)然前提需要這些庫的數(shù)據(jù)同步(一般數(shù)據(jù)庫服務(wù)器有這種同步機(jī)制)。
文檔最后更新時(shí)間:2015-02-26 09:07:30