Erkan Ceran

CodeIgniter’da Mysql Master-Slave Veritabanı Kullanımı

Mysql Master Slave

Mysql Master Slave

Önceki yazılarımda mysql’de master-slave sunucu nasıl yapılabileceğini anlatmıştım. İlgilenenler buradan ulaşabilir. Şimdi ise Codeigniter üzerinde bu tür bir yapı kullanarak nasıl çift mysql kullanılabileceğini anlatacağım.

Codeigniter üzerinde config dizininde, database.php dosyası içerisinde active_group u 2 ye ayıracağız; yazma ve okuma.

$active_group = "write"; // default olarak write ı veriyoruz
$active_record = TRUE;

$db[‘read’][‘hostname’] = “localhost”;
$db[‘read’][‘username’] = “root”;
$db[‘read’][‘password’] = “slavesifreniz”;
$db[‘read’][‘database’] = “okuma_yapilacak_slave_database_adi”;
$db[‘read’][‘dbdriver’] = “mysql”;
$db[‘read’][‘dbprefix’] = “”;
$db[‘read’][‘pconnect’] = TRUE;
$db[‘read’][‘db_debug’] = FALSE;
$db[‘read’][‘cache_on’] = FALSE;
$db[‘read’][‘cachedir’] = “”;
$db[‘read’][‘char_set’] = “utf8”;
$db[‘read’][‘dbcollat’] = “utf8_general_ci”;

$db[‘write’][‘hostname’] = “localhost”;
$db[‘write’][‘username’] = “root”;
$db[‘write’][‘password’] = “mastersifreniz”;
$db[‘write’][‘database’] = “yazma_yapilacak_slave_database_adi”;
$db[‘write’][‘dbdriver’] = “mysql”;
$db[‘write’][‘dbprefix’] = “”;
$db[‘write’][‘pconnect’] = TRUE;
$db[‘write’][‘db_debug’] = FALSE;
$db[‘write’][‘cache_on’] = FALSE;
$db[‘write’][‘cachedir’] = “”;
$db[‘write’][‘char_set’] = “utf8”;
$db[‘write’][‘dbcollat’] = “utf8_general_ci”;

ayarları database.php içerisinde kaydedikten sonra normal kullanım olarak şöyle kullanabiliriz;

$read_db = $this->load->database(‘read’, TRUE);
$write_db = $this->load->database(‘write’, TRUE);

Sql işlemlerinde ;

Oku;
$query = $read_db->get(‘tablo_adi’);
Yaz;
$data = array(

‘title’ => $title,
‘pass’ => $pass
);
$write_db->insert(‘tablo_adi’, $data);

Exit mobile version