2015-05-01 75 views
0

我有一個酒店監測web應用程序開發CodeIgniter。 它監視酒店的每個房間的活動,併發送有關房間佔用率,電氣開關等狀態的實時數據。 它主辦在cpanel網絡服務器。我在本地計算機中擁有相同的副本。 我想同步2個數據庫(即在本地主機遠程服務器)。 任何數據庫中的每個更改都應該自動更新到其他數據庫。CodeIgniter:如何同步本地和遠程數據庫

首先,我試圖通過將主機名作爲我的cPanel共享的IP地址從本地主機訪問我的遠程數據庫follos

$db['default']['hostname'] = 'xx.xx.xx.xx'; 

其中XX.XX.XX.XX是的cPanel的共享IP。但沒用。

我該如何繼續?

在此先感謝

+2

爲什麼要同步?這似乎是危險的,因爲如果您的系統任何時候崩潰,那麼它也將從您的服務器也被刪除.. –

+0

想反映只有一個數據庫的更新到其他 –

+0

有一些方法可以做到這一點.. 1.添加在CI 2 DB連接並修改您的更新代碼,以便更新這兩個數據庫。 2.使用一個3party的程序,將沉沒的DB .. – George

回答

0

備選方案1:笨方法

您可以設置遠程訪問MySQL服務器:

教程的cPanel這裏:https://www.liquidweb.com/kb/enable-remote-mysql- 連接功能於的cPanel/

然後,只需在您的database.php設置一個新連接更改爲$db['remote']['hostname'] = 'xxx.xxx.xxx.xxx';

請注意,您必須創建一個方法來提取這些新數據並將其替換到本地數據庫中,以便可以通過cronjob運行的腳本。

選項2:主/從方式

您可以設置一個數據庫,爲酒店和是本地數據庫。我不知道一種方法來做這個直接的cPanel,但你可以在phpmyadmin做到這一點,有一個視頻如何在這裏做到這一點:https://www.youtube.com/watch?v=nfsmnx24gxU

這種方法將是最全面/自動的方式來做到這一點。它將覆蓋數據庫中的任何更改。

請注意,對數據庫的任何外部訪問都可能不安全。選擇時請注意這一點。

相關問題