免费注册 查看新帖 |

Chinaunix

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

关于mysql的AB复制问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-16 08:52 |只看该作者 |倒序浏览
整个AB复制基本步骤如下,我测试过也是OK的,能够实现AB数据自动同步:

A服务器操作:
用mysqldump备份A服务器上的数据:
# mysqldump -uroot -p1234 --master-data=2 --all-databases > /tmp/all.sql
# vim /tmp/all.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000002', MASTER_LOG_POS=874;       #记住这一行

B服务器操作:
# mysql < /tmp/all.sql          #导入数据到B服务器
mysql> flush privileges;
mysql> change master to
-> MASTER_HOST='192.168.0.1',
-> MASTER_USER='slave',
-> MASTER_PASSWORD='1234',
-> MASTER_LOG_FILE='mysqld-bin.000002',
-> MASTER_LOG_POS= 874,           #利用'mysqld-bin.000002' 和位置874进行还原
-> MASTER_CONNECT_RETRY=10;
Query OK, 0 rows affected (0.02 sec)

现在有一个疑问:
'mysqld-bin.000002', MASTER_LOG_POS=874这个位置是什么时间点?
例如:10点开始从A运行mysqldump命令,10点30分生成一个all.sql文件, 10点到10点30分这段时间A服务器应该是锁表不能写,对吧?
10点30分生成all.sql后A服务器会自动解锁允许写操作,对吧?10点30分到10点40分恢复到B去,那么10点30到10点40分这段时间AB之间怎么保持数据一致?  MASTER_LOG_POS=874这个位置记录的是什么时间点?是10点30分解锁那一刻吗??

论坛徽章:
0
2 [报告]
发表于 2011-12-16 11:59 |只看该作者
请高手回答,自己先顶一下,谢谢!

论坛徽章:
0
3 [报告]
发表于 2011-12-17 23:44 |只看该作者
你说的时间点没错
如果要说主从的一致性,只要主上保证了binlog里的东西和实际数据是一致的,同步到从上也是一致的。
当然,如果在statement方式下,用了now之类的函数除外

论坛徽章:
0
4 [报告]
发表于 2011-12-19 11:19 |只看该作者
10点30分到10点40分恢复到B去,那么10点30到10点40分这段时间AB之间怎么保持数据一致?

这个就不用管了,你用10点30分的all.sql配置好主从之后,10.30之后的数据他就自动同步了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP