Моя компания настраивала другой сервер для чтения и записи DB базы данных. Раньше мы использовали собственный скрипт php. Однако мне недавно была поставлена задача создать инструменты, используя CI. Я сделал это на тестовом сервере. Теперь я смущен, как реализовать его на реальном сервере.
Настройте несколько «групп соединений» для каждого сервера в файле конфигурации database.php, затем в модели:
$DB1 = $this->load->database('group_one', TRUE); $DB2 = $this->load->database('group_two', TRUE); //read from DB1 $DB1->query(); //write to DB2 $DB2->insert();
См. Примеры в: Подключение к нескольким базам данных
Может быть, проще, а не делать это по IP, делать это с помощью пользователей MySQL.
У вас могут быть два разных пользователя: один со всеми правами на запись, такими как INSERT
и UPDATE
, а затем другой пользователь со всеми привилегиями READ, такими как SELECT
, или что вы пожелаете.
Затем, какой код работает на вашем веб-сервере записи, использует пользователя записи и вице-наоборот?
Я создал простую библиотеку, расширяющую функциональность базы данных. Вы можете изменить его в зависимости от того, что вам нужно. http://rangga.net/splitting-read-write-codeigniter-database/