是slave主动去想master请求数据对吧 .那时间间隔是多久?
如果master传输了3条数据给slave,之间网络不好,丢了一条,slave如何保证数据的完整性?
如果master传输了3条数据给slave,之间网络不好,丢了一条,slave如何保证数据的完整性?
1
mahone3297 Jul 29, 2015
mysql主从,好像是会漏的。对么?各位
|
2
Jimmy_Chen Jul 29, 2015
对
|
3
9hills Jul 29, 2015
1. 延时一般在秒级,可以以降低写入性能的代价实现无延时
2. 基于log的,不会漏。。。 |
4
myoula Jul 29, 2015
呃 mysql的主从是基于binlog
master会把每条sql都写入binlog 同时每条sql都有一个position的记录 slave启动的时候 一个线程一直连在master上 当postion变化的时候 master会通知slave去重新读取 slaver读取相关的信息(记录master的主机信息和binlog的信息) 把binlog同步过来 同时有一个线程replay binlog 丢失可能性不大 除非错误 show slave status的时候 会有error 详细的介绍 http://www.jb51.net/article/27222.htm |
5
idblife Jul 29, 2015
就这问题在线等个毛
去官方文档一看便知 |
6
julyclyde Jul 29, 2015
是slave主动去连接master,但连上之后推送数据是master主动的
基于tcp,不存在所谓丢了一条的说法 |
7
wavingclear Jul 29, 2015
用过但没有学习过原理,slave不故障就没出过问题。
|