2011-05-13 87 views
9

我已成功修改了我的httpd.conf文件,以便將DocumentRoot修改爲我的Dropbox文件夾。本地主機不再指向/ etc/www,而是/ home/Dropbox/www ...將MySQL連接到Dropbox

這很方便,因爲無論我在哪臺計算機上,我的網頁文件的更改都是同步的,而Dropbox在後臺保留一個透明的版本控制系統。

我想知道是否也可以在我的Dropbox文件夾中存儲MySQL數據(不一定是實際的二進制文件)。如果可能的話,數據同步將是等效的。人們會將數據庫,表格和其他用戶生成的內容推送到Dropbox文件夾而不是本地硬盤上進行什麼樣的更改?

+3

你很明顯沒有想到通過正確的方式,或者你會意識到你不能將數據庫存儲在連續同步的介質上。設置一個cron作業來轉儲sql,這應該可以做到。 – 2011-05-13 07:15:41

+2

every..single ... change ...你會通過保管箱同步。由於數據文件是以二進制形式存儲的,我認爲這可能會讓它在每次更新內容時都上傳整個文件(我認爲) – JohnP 2011-05-13 07:17:30

+0

@JohnP - 好吧,如果是這樣的話,這可能是一個壞主意。對於網頁文件,它的效果很好;我不想通過git或svn,因爲目前我的需求開銷太大。對於數據庫文件...我可能會遇到麻煩。我的虛擬主機提供了大量的MySQL數據庫,我認爲我最好的選擇就是像@gnur和ahmet提到的那樣遠程連接。 – 2011-05-13 07:29:25

回答

10

改變datadir這可能是更容易,更可靠,使用遠程MySQL數據庫。大多數網絡主機提供MySQL服務,有些甚至是免費的。同步mysql數據庫是一種痛苦,無論你如何做!如果你開始複製數據文件,它只是在等待腐敗!

+5

這是反怪傑 – Fluffy 2011-06-16 19:53:47

+0

我從來沒有見過Dropbox破壞以前的任何東西,並且使用本地數據庫的速度非常快 – 472084 2012-06-23 10:15:27

+1

即使它不是文件損壞,它可能會變成邏輯損壞,如果您只是一次打開數據庫你將會有很多「衝突的文件用戶副本」文件,這些文件只是一個等待發生的事故。 – gnur 2012-07-10 06:48:32

2

如果您可以成功複製MySQL的數據文件夾並將其指向正確的位置,則可能會遇到併發問題。這不是一個推薦的方法。爲什麼不使用版本控制系統,例如svn,git與遠程連接允許MySQL服務器?

數據庫會非常頻繁地更新,Dropbox會強制更新過於頻繁,但它有時無法同步,您的連接將被DropBox更新浪費。這實在不是一個好習慣。

1

當然,你可以,編輯my.cnf文件,從什麼是(也許/var/lib/mysql/)到/home/Dropbox/mysql...

0

Dropbox無法處理文件所有權(和權限),因此如果您的原始數據庫文件由mysql:mysql擁有,則在每次同步後,所有者將是youruser:yourgroup,權限設置爲664,數據庫將被讀取 - 僅適用於MySQL!

解決方案是將用戶mysql添加到組yourgroup,然後它與664權限一起工作,並且您不必每次都手動將所有權更改回mysql。