免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7503 | 回复: 11
打印 上一主题 下一主题

如何实现mysql的多点同步 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-10 17:26 |只看该作者 |倒序浏览
10可用积分
我的问题是这样的,由于需要需要对mysql的读写进行分离,分离是有前端php实现的,对于读写的两个虚ip后面会有多台mysql,其中实现的是负载均衡和高可用,这以测试通过,但读的mysql要和写的数据库同步,但写的数据库不止一个,所对应的bin-log也是不一样(当然可以手动初始化一样),我想问的是用什么办法来解决时时同步的问题。

我查了一些资料,google提供了一款开源的软件,负责同步mysql的bin-log,多做了一个镜像 (现在在测试)

我想问问谁还有这方面的经验,出来交流一下阿!

论坛徽章:
0
2 [报告]
发表于 2009-11-10 17:28 |只看该作者
利用Google的MirroredBinlogs( http://code.google.com/p/google-mysql-tools/wiki/MirroredBinlogs)实现MySQL主库的跨环状热备,但看了好像也得指一个指定的数据库,还是不行...

来人阿,指点一下阿!!!

论坛徽章:
0
3 [报告]
发表于 2009-11-11 11:59 |只看该作者

回复 #1 13319085 的帖子

写的数据库不止一个什么意思?是有多个数据库其内容一致吗?
这样显然无法简单地保持数据库的一致性:假设同时有两个事务分别改变数据库A和B中的记录L
那么这个L的状态就无法确定了
这不是一个trival的问题,特别是你要求保证实时同步...

提高性能,或者可用性不是做多个拷贝再同步这么简单的
可以尝试了解一下mysql cluster吧(俺没有用过,只是大概知道有这么个东西)
http://dev.mysql.com/downloads/select.php?id=14
让数据库自己去解决同步、一致性的问题

论坛徽章:
0
4 [报告]
发表于 2009-11-11 14:12 |只看该作者

回复 #3 lemoncookie 的帖子

我可能没说清楚,我的写的两台mysql已经做了互为主从的设置,他俩的数据是一致的,只是后面的读数据库要同步主数据库的bin-log时不知同步两个主的哪一个,我现在的解决方案是两个主(负载均衡+HA),我直接同步虚的主IP,把两个主的bin-log初始化一样,如果有一台mysql服务有问题,会从集群点中T掉,这样应该就不会数据不一致了!恢复时再同步就可以了

谁有这方面的实际在线经验阿,分享一下阿!!!

论坛徽章:
0
5 [报告]
发表于 2009-11-11 14:49 |只看该作者
就这个问题可以比较负责任的说明如下:

1、网上参考的资料中存在一定的误解部分主要是mysql的各个版本中对于同步master slave的操作方式和参数有一定的出入; 所以在这个问题上面要首先说明的是msyql的版本;
之前mysql 有6.0的版本测试 ,其中的配置方式就与mysql 5的存在一定的不同参数,这些参数在mysql的网站的手册文档中是有的,具体是那个url 有些遗忘了,不过应该是可以找到的
2、就是配置mysql的复制建议在my.cnf中配置好对应的参数信息,然后通过mysql的服务启动进行自动的复制 减少过多的手动操作部分,手动的部分就是排错的过程;
3、如果是多节点 那么建议考虑master的heartbeat的模式,因为slave到master是需要手动的切换 除非是另外的一种master master的模式

论坛徽章:
0
6 [报告]
发表于 2009-11-11 22:28 |只看该作者

回复 #5 kns1024wh 的帖子

百湖说的是
1:我的mysql是5.1
2:这些配置主从的大多数是写在配置文件里的,这点你说的有道理
3,HA部分不符合我的要求,他只能保证一台数据库的正常运行,但我要的是两台的负载均衡,也就是同时要有两台的主数据库,就会有一个主数据库选择的问题。

望在第3点上给与回复,多谢百湖!

论坛徽章:
0
7 [报告]
发表于 2009-11-20 01:23 |只看该作者

回复 #6 13319085 的帖子

实际上就是master master的模式
具体就是 两侧的my.cnf都设置有master的参数和slave的参数
参数的ID是要相差10的,实际上相差1就是可以的,设置10为了区分优先级别 明确谁同步谁的

还有就是同步的时的bin log的复制要互相差1,这样有利于相互的复制

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
8 [报告]
发表于 2009-11-20 10:30 |只看该作者
双机热备?

论坛徽章:
0
9 [报告]
发表于 2009-11-20 12:05 |只看该作者

回复 #7 kns1024wh 的帖子

多谢百湖的回帖,给我了一种思路
1."参数的ID是要相差10的"但这种方法会出现单点故障,比如说中间点的同步出现问题会导致下一级的同步一致性,想请教一下解决的思路。
2.使同步时的bin_log复制相差1是什么意思?是异步同步的意思吗?要这样的话可就不符合需求了,因为我们的数据时时都在写。

论坛徽章:
0
10 [报告]
发表于 2009-11-20 12:08 |只看该作者

回复 #7 kns1024wh 的帖子

还补充一点,如果从的服务器和主不在同一机房,如何做到时时同步?

望给与支持与帮助,先谢谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP