我有一個應用程序應該在單個本地計算機(信息亭顯示器)上運行,但我希望讓用戶進行更改的選項(來自任何PC)並在本地PC(信息亭顯示器)上更新實例。從我的想象中,Web服務器上的MySQL實例將只替換本地(信息亭顯示器)機器上的MySQL實例。這可以每晚進行一次(不一定是瞬間的)。如何 - 從Web服務器到本地機自動備份和恢復MySQL數據庫
有誰知道一種方法來做到這一點?我對產品開放或自己編碼...
我會感謝任何信息或頭腦風暴。
謝謝。
我有一個應用程序應該在單個本地計算機(信息亭顯示器)上運行,但我希望讓用戶進行更改的選項(來自任何PC)並在本地PC(信息亭顯示器)上更新實例。從我的想象中,Web服務器上的MySQL實例將只替換本地(信息亭顯示器)機器上的MySQL實例。這可以每晚進行一次(不一定是瞬間的)。如何 - 從Web服務器到本地機自動備份和恢復MySQL數據庫
有誰知道一種方法來做到這一點?我對產品開放或自己編碼...
我會感謝任何信息或頭腦風暴。
謝謝。
如果客戶有固定的IP地址,你可以這樣做:
創建於服務器MySQL用戶賬戶,讓他們只從一個特定的IP範圍內登錄,給他們SELECT
特權
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二進制文件。
感謝Unicron。這是一些很好的信息,我真的很感激信息。我會採取一個更安全的選擇。 – Rhepungus 2010-04-28 17:38:08