2011-05-13 86 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。