MySQL 双机备份问题

stven0 2010-07-26 01:51:04
由于才接触MySQL不太了解,所以来此请教一下各位大虾:


要实现的目的:

为了提高系统的效率,所以当user 进来时,由系统随机分配一组MySQL系统(A,B)给用户使用,A,B 分别使用不同的文件系统。 见草图如下:

要求:

A,B 的文件系统要随时保持一致(这个应该就是双机备份吧?)

问题:

1、这个设想可行不?

2、user 进来是如何随机分配一组MySQL系统给用户使用?

3、假如 user x, user y 在同一时间分别被分到 系统A, 系统B 而且同时更新同一个表 t_test. 那个系统A 和系统B的文件系统怎么来进行数据的整合,并保持一致?(自己的想法是:在进行双机备份的时候有一个主从的概念,貌似只能事实更新主机的数据到从机,从机如何能更新到主呢?又如何进行数据的整合呢?)





先谢谢各位大虾!!!
...全文
101 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gonnsai5 2010-08-03
  • 打赏
  • 举报
回复
参考下这个看看MySQL 数据库同步
stven0 2010-08-03
  • 打赏
  • 举报
回复
嗯,7楼说的没错,不过我只有2台server 配置起来好混乱。
greencacti 2010-07-30
  • 打赏
  • 举报
回复
使用MySQL NDB Cluster可以轻松解决你这个问题
linscooter 2010-07-27
  • 打赏
  • 举报
回复
互同步。但这个问题:假如 user x, user y 在同一时间分别被分到 系统A, 系统B 而且同时更新同一个表 t_test. 那个系统A 和系统B的文件系统怎么来进行数据的整合,并保持一致?不知道怎么解决。
如果操作时间有时差,且互同步间隔很短,是没问题的。但如果数据在没同步的状态下,两个操作,不知道结果会怎么样?
stven0 2010-07-27
  • 打赏
  • 举报
回复
嗯, 5楼说的是。 我现在是这样想的 A <--> B 互为主从, A, B 都能同时写, 但是为了防止这种冲突发生,我设置当A --> B 是延迟10秒. B--> 延迟20秒. 这样的意思就是当A , B 中的同一个表, 同一个字段被更新了的话, 我先让A 更新到B 这样B就保持了最新的数据,然后在B更新到A.


不过这样做的话,貌似又有一个问题,就是在这10秒之内或者20秒之内,有人锁住了B表,这样会成功吗?

不知道MYSQL的锁机制是怎么的?
loveflea 2010-07-27
  • 打赏
  • 举报
回复
一般双机 master <--> master,把其中一个用于读写,另外一个只读(readonly),这样就不会有什么冲突;

如果同时两个都能写的话,那就需要您自己在应用程序中解决冲突!!

比如表tb中只有一条记录,字段amount=1,两个主机同时执行更新语句
master a -> update tb set amount=amount+1;
master b -> update tb set amount=amount*2;

这样两个amount分别是4,3 就会不一致!而复制不会提示错误,这种情况就需要您的程序解决

stven0 2010-07-27
  • 打赏
  • 举报
回复
至于双机互为主从大概搞清楚了,先谢谢各位了。

不过还有个问题,就是当用户进来是如何随机的选择一组系统进行使用? 这个是负载均衡的问题吗?
hehe4569 2010-07-26
  • 打赏
  • 举报
回复
互为主从
http://hi.baidu.com/smallmenu/blog/item/f8b5c2645c584cfdf7365418.html

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧