2013-03-08 49 views
0

我有一個php + mysql應用程序,想知道當互聯網連接丟失時使我的應用程序工作的最佳方式。當沒有互聯網連接時使用mysql

我想有兩個相同的數據庫,一個在我的互聯網主機,另一個在我的本地主機。所以,當沒有連接時,我會將所有數據存儲到我的本地主機。

我的問題是如何將數據從我的本地主機傳輸到我的互聯網主機中的數據庫?

+0

你的應用程序做了什麼? – shapeshifter 2013-03-08 03:53:45

+0

[可能重複](http://stackoverflow.com/questions/1935314/connecting-to-remote-mysql-server-using-php)。你試圖連接mysql遠程服務器嗎?如果你想訪問遠程服務器[請參閱此處](http://support.hostgator.com/articles/cpanel/how-to-connect-to-the-mysql-database)@Renan Lopes Ferreira – gks 2013-03-08 03:54:58

+0

我需要數據在遠程服務器中。但是我希望有一種方法可以讓我的應用程序即使在沒有連接到此遠程服務器的情況下也能正常工作。 – 2013-03-08 03:59:21

回答

1

您需要使用replication - 此鏈接會告訴您如何設置它,以便您的本地計算機是遠程計算機的副本。

+0

這似乎是最好的方法,但是,我無法訪問遠程服務器上的這些「.ini」文件! – 2013-03-08 11:22:59

+0

您的本地副本僅用於測試目的還是副本需要更新? – 2013-03-08 11:28:16

+0

我需要本地主機作爲副本,但我喜歡在互聯網訪問不存在的情況下在本地主機上所做的所有更改轉移到遠程服務器。我國的互聯網非常不穩定,但我需要數據在那裏,即使沒有連接,系統也能正常工作。 遠程服務器與託管我的網站的服務器相同,因此這就是爲什麼沒有更改這些「.ini」文件的原因 – 2013-03-08 11:45:07

0

如果您在兩臺服務器上都有phpMyAdmin,則可以導出本地主機數據庫,然後將其導入托管數據庫。

1

你只是在收集類似訂閱的數據嗎?如果是這樣,當您檢測到主數據庫已關閉時,您可以暫時排隊新記錄,並在檢測到兩個數據庫都可用並且任何未處理的記錄存在本地時執行普通的插入和刪除以傳輸未處理的新記錄。

如果您需要查詢和維護兩個數據庫之間的關係數據,那麼您需要一個更強大和更復雜的複製策略。

+0

我想過這個,但是有許多表和許多操作,知道更新發生的地方並傳輸它,一個接一個,到遠程服務器似乎不是最好的方式 – 2013-03-08 11:18:37

+0

聽起來你需要多主複製,這是一個具有挑戰性的問題。有一個體面的博客討論,引用了Galera集羣和XtraDB集羣這裏:http://www.mirantis.com/blog/ha-platform-components-mysql-rabbitmq/ – phatfingers 2013-03-08 15:09:35