这里有人试过用 Dropbox 去同步几台开发机器上的 MySQL 的 data 目录么?

2012-04-20 00:46:12 +08:00
 Livid
3916 次点击
所在节点    Dropbox
10 条回复
aveline
2012-04-20 00:47:28 +08:00
推荐使用MySQL Replication。

直接同步文件会有各种各样奇怪的问题的。
virushuo
2012-04-20 01:04:51 +08:00
如果是单点写入别处都是读有可能还行…不过总觉得很危险,还是用bin log放心点。
alvin2ye
2012-04-20 09:36:02 +08:00
不行的,你不能忽略内存的不一致
napoleonu
2012-04-20 09:59:05 +08:00
不知道 Dropbox 同步有多智能,不知道会不会出现每次都从头上传文件的情况,这样网络的开销会很大。binlog 是追加写应该不会出现每次从头传的问题。

另外 innodb 会有如 @alvin2ye 所说的情况,innodb 不是每个事务完毕都刷 buffer pool 中的脏页到数据文件的。 即使是 myisam 也会有文件系统的 cache 以及 raid 卡的 cache 等问题不会即时同步到磁盘。

所以使用定时全备份加设置好 sync_binlog 参数之后同步 binlog 是在服务器资源不是很充足的时候的一个比较靠谱的做法。

使用全备加 binlog 原因是 Dropbox 空间毕竟有限,而 binlog 一般都增长很快,所以使用这样的"增量备份",每次全备都可以清理掉全备前面所有或者一段时间前所有的 binlog 来节省 Dropbox 空间,当然如果哟个100G的 Dropbox 空间,一点 binlog 不删对于网站型应用同步个一年半载一点问题没有。
alvin2ye
2012-04-22 00:04:37 +08:00
@napoleonu
曾经研究过, 那搜索到的忘记了, 我提供思路, 不保证对haha,
先把文件切块, 对没块做md5和sha-1, md5 极少会重复, sha和md5一起后可以保证不重复.(又相信爱情了)
远程和本地的文件的块做比较 [开始位,结束位, md5, sha] , 如果不对在不对的块里再切小块,以此类推. 切到一个固定值如 1024 后就开始覆盖.

所以, 再大的文件可以二分法切和增量覆盖.

innodb 和 myisam 一样都不行的
sampeng
2012-04-22 00:26:39 +08:00
你是要疯啊。。。mysql自带功能不用用dropbox。。
napoleonu
2012-04-22 00:52:20 +08:00
Replication 其实也是通过同步 binlog 实行数据同步的,只要效率好,全备份加 Dropbox 同步 binlog 确实是个不错的方法。
Livid
2012-04-22 00:56:48 +08:00
主要是为了解决一台带着走的 MBP 和家里的 iMac/Mac mini Server 的 mysql data 同步的问题。

确实不会存在同时写入的状况,改天用一个库试试。
napoleonu
2012-04-22 01:03:23 +08:00
非生产库同步 data 目录一点问题没有,哈,就因为 mysql 空闲。如果是使用 innodb 记得共享表空间也要同步。
zealot
2012-04-22 01:17:54 +08:00
以前光是Excel文件打开状态下就会有被锁定,无法同步的问题,现在不知道还是不是这样。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/32694

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX