2010-04-16 44 views
0

我有一個應用程序應該在單個本地計算機(信息亭顯示器)上運行,但我希望讓用戶進行更改的選項(來自任何PC)並在本地PC(信息亭顯示器)上更新實例。從我的想象中,Web服務器上的MySQL實例將只替換本地(信息亭顯示器)機器上的MySQL實例。這可以每晚進行一次(不一定是瞬間的)。如何 - 從Web服務器到本地機自動備份和恢復MySQL數據庫

有誰知道一種方法來做到這一點?我對產品開放或自己編碼...

我會感謝任何信息或頭腦風暴。

謝謝。

回答

0

如果客戶有固定的IP地址,你可以這樣做:

  • 創建於服務器MySQL用戶賬戶,讓他們只從一個特定的IP範圍內登錄,給他們SELECT特權

  • 客戶端PC上安裝

    MySQL客戶端二進制文件

  • 使用cron或Windows任務計劃做一個遠程mysqldump

    mysqldump -u username -h remote.server.com databasename > dump.txt 
    mysql -u local_username -h localhost databasename < dump.txt 
    

這不是一個完美的解決方案 - 通常的共識是有mysql不能從外面進行訪問。但是如果你有固定的IP地址,也可以調整防火牆來調整這些IP地址的連接,那肯定是最簡單的解決方案。

一個更安全的解決方案可能是:

  • 使用服務器端腳本語言來構建數據庫本地轉儲,並將其存儲在一個已知的目錄

  • 在客戶端安裝wget二進制

  • 讓客戶端wget調用創建轉儲的服務器端腳本(例如作爲網頁)

  • 當頁面完成下載(=轉儲完成)時,啓動另一個wget,將FTP傳輸到服務器(當然權限非常有限),並獲取剛創建的數據轉儲,或者爲了安全性,使用安全協議sftp或scp/ssh。 Putty爲此目的具有Windows二進制文件。

+0

感謝Unicron。這是一些很好的信息,我真的很感激信息。我會採取一個更安全的選擇。 – Rhepungus 2010-04-28 17:38:08

相關問題