【发布时间】:2012-05-24 09:00:31
【问题描述】:
我正在使用 Sugarsync 在 Mac 和 PC 之间同步 localhost 文件夹,
我也想同步数据库。
我可以通过简单地同步文件夹来做到这一点(我在 PC 上使用 xampp,在 Mac 上使用 WAMP)还是更复杂?
如果有可能我应该同步哪些文件和文件夹?
【问题讨论】:
我正在使用 Sugarsync 在 Mac 和 PC 之间同步 localhost 文件夹,
我也想同步数据库。
我可以通过简单地同步文件夹来做到这一点(我在 PC 上使用 xampp,在 Mac 上使用 WAMP)还是更复杂?
如果有可能我应该同步哪些文件和文件夹?
【问题讨论】:
简而言之,这不是一个好主意,我认为这不可能。数据库文件基本上被锁定,因为数据库服务器需要对其具有独占访问权限。 Sugarsync 无法知道这些文件处于什么状态,因此它实际上可能会将一半完成的文件从源复制到目标。它甚至可能完全破坏您的数据库,因为 Sugarsync 可能会在关键操作期间阻止对数据文件的访问
如果您需要保持数据库的同步副本,这里有一些建议。
【讨论】:
问题已经有一年了,但如果其他人遇到它,我想我会添加这个。实际上,我使用 Dropbox 几年来一直在做这个人正在尝试的事情。我将 MySQL 数据文件放入一个共享的 Dropbox 文件夹并编辑 mysql.ini 让它知道它们不在默认位置。使其成功运行的关键是在计算机之间切换时启动/停止 MySQL。例如,如果我在家工作,我会启动 EasyPHP(使用它而不是 XAMPP)。我的 htdocs 位于一个符号链接文件夹中,该文件夹也通过 Dropbox 共享。我在这里做我的工作,然后关闭 EasyPHP。当我进入办公室时,一切都已同步,我在那里启动了 EasyPHP。
当我忘记在一个位置或另一个位置关闭 EasyPHP 时,数据库不会同步(数据文件被锁定,正如其他人所指出的那样)所以我只需通过 LogMeIn 登录到另一台机器,关闭关闭 EasyPHP,一两分钟后我就可以走了。
我确信这不是“正确”的方法有很多原因,但它对我来说完美无缺,数据丢失或错误为零。
【讨论】:
不,恐怕您不能只使用文件同步工具来同步数据库文件以保持数据库同步。
数据库的同步被称为“复制”,在mysql手册中有一整章1专门用于复制。
【讨论】: