mysql复制的三个线程:主库线程,从库I/O线程,从库SQL线程;
复制流程:(1) I/O 线程向主库发出请求
(2)主库线程响应请求,并推BINLOG 日志到从库
(3)I/O 线程收到线程并记入中继日志
(4)SQL 线程从中继日志读取SQL,并记入从库binlog 日志,FLUSH进硬盘
一致性延时性,数据恢复;
1,主从复制一致性由BINLOG执行顺序保证(TIMESPAN+POS);
日志越详细,主从一致性越容易保证
延时性:延时表现为 延迟时间=从库执行SQL完成的时刻-主库开始执行SQL时间;
数据恢复 备份时记录的BINLOG位置点;
(3) 工作遇到的复制BUG的解决方法
答:这个问题感觉描述并不准确,不清楚是主从复制故障还是bug;
故障一般由于主键冲突,链接不上主库,找不到对应的binlog位置等引起;
解决方法是跳过冲突,检查主从链接,找正确的pos;
bug不常见,笔者碰到过一次,分享如下:
环境:主库从库都是虚机,每十分钟与宿主机同步一次时间,大约每次与主机相差2秒;
表现:从库复制时重复执行两秒之内的日志;
从库showslave status\G,behind_master_pos在60000和0之间循环,每两秒一次;