1)主从复制原理
MySql主从复制实际上是基于二进制日志BinaryLog,可以分为四个步骤:a)主库对所有的DDL(insert、update、delete)和DML(create)写进二进制文件;b)主库生成一个log dump线程,用来给从库IO读取二进制文件;c)从库的IO thread读取二进制文件,并将读取的二进制文件写入relay log中;d)从库的SQL Thread读取relay log文件
2)主从复制的问题
主库宕机后数据可能会丢失;数据复制存在同步延迟
3)同步延时原因
IO读取主库需要时间、Master的负载过高,超过了从库的读取速度、slave查询出现效率低或者大型数据查询出现卡顿或者锁等,那么就会产生延时。一般的常见原因有Master负载过高、Slave负载过高、网络延迟、机器性能太低
4)解决延时
1. 优化网络
2. 升级Slave硬件配置
3. Slave调整参数,关闭binlog,修改innodb_flush_log_at_trx_commit参数值
4. 升级MySQL版本到5.7,使用并行复制