主从复制中MASTER_POS_WAIT函数的应用
来源:互联网 发布:淘宝店上传完宝贝 编辑:程序博客网 时间:2024/06/02 06:50
MASTER_POS_WAIT(log_name,log_pos[,timeout])
该函数对于控制主从同步很有用处。它会持续封锁,直到从设备阅读和应用主机记录中所有补充资料到指定的位置。返回值是其为到达指定位置而必须等待的记录事件的数目。若从设备SQL线程没有被启动、从设备主机信息尚未初始化、参数不正确或出现任何错误,则该函数返回 NULL。若超时时间被超过,则返回-1。若在MASTER_POS_WAIT() 等待期间,从设备SQL线程中止,则该函数返回 NULL。若从设备由指定位置通过,则函数会立即返回结果。
假如已经指定了一个超时时间值,当 超时时间 秒数经过后MASTER_POS_WAIT()会停止等待。超时时间 必须大于 0;一个为零或为负值的 超时时间 表示没有超市时间。
该函数主要有两种应用情况:
1、在主从切换时,通常做法是
a、停止master的写入
b、在主库上show master status来查看主库binlog的pos
c、在slave上检查是否到达该点
利用MASTER_POS_WAIT函数,可以在上面的b步骤中调用该函数,直至执行到指定点
2、在应用程序中主库提交完后,如果对从库的时实同步要求比较高的话,可以在应用程序中连接从库调用MASTER_POS_WAIT阻塞等待,直至主库更新至从库。当然这样会影响客户端提交的延时。
MASTER_POS_WAIT的实现逻辑
用户调用该函数后,根据传入参数调用pthread_cond_timedwait或pthread_cond_wait。 SQL_THREAD线程每次apply完一个事件后会触发更新relay info, 并通知上面等待的线程。因为可能有多个用户等待,因此用广播方式。
- 主从复制中MASTER_POS_WAIT函数的应用
- master_pos_wait函数与MySQL数据库主从复制切换
- master_pos_wait函数与MySQL数据库主从复制切换
- MYSQL中replication(主从复制)的原理
- Linux 中 mysql 的主从复制配置
- MySQL中主从复制的原理
- Redis的高级应用-安全性和主从复制
- mysql 主从复制和读写分离的应用层实现
- mysql的主从复制
- Mysql的主从复制
- Redis的主从复制
- Mysql的主从复制
- Redis的主从复制
- mysql的主从复制
- Mysql的主从复制
- redis的主从复制
- Redis的主从复制
- Redis的主从复制
- shell脚本之-无限循环
- Android Eclipse集成NDK
- 【PrintWriter】略胜一筹,其实PrintWriter也相当一个转换流
- iOS4中Core Motion框架的介绍和使用
- Oracle ORA-22922错误
- 主从复制中MASTER_POS_WAIT函数的应用
- 单链表实现(C++)
- flex 4开发实践问题
- Java_Ant详解
- java学习——mina篇
- 在Ubuntu下进行MongoDB安装步骤
- 有关The Last Promise的汉化①<国外高手的FE7 hack版>
- IE(IE6/IE7/IE8)支持HTML5标签
- iOS文档生成