数据库-MySQL主从复制(理论篇)。

1.什么是主从复制?
  MySQL的主从复制,就是建立一个或多个和主数据库完全一样的数据库环境,这些数据库被称为从数据库,主数据库一般用来实时的业务数据写操作(插入、更新、删除),从数据库常用的读取为主。

2.主从复制的优点
  1)从数据库可以作为备用数据库进行操作。当主数据库出现故障之后,从数据库可以替代主数据库继续工作,不影响公司的业务。
  2)方便架构的扩展。随着业务量越来越大,I/O访问频率过高,单机已无法满足,此时主从数据库架构,可以降低单个服务器磁盘I/O访问的频率,提高单个机器的I/O性能。
  3)读写分离,分散服务器压力,使数据库能支撑更大的并发。

3.主从复制的原理
  概述:数据库都有个binlog二进制文件,记录了所有事务执行的sql语句。那么从数据库把主数据库的binlog文件的sql语句复制过来,再执行一次这些sql语句就可以实现主从一致了。
  开局一张图,内容全靠吹。主从复制原理如下图:
数据库-MySQL主从复制(理论篇)。

  图例解释:
  1)主数据库进行的insert、update、delete操作会被写入到binlog日志里面;
  2)从库发起连接,连接到主库,此时主库创建一个binlog dump thread线程,把binlog的内容发送到从库;
  3)从库启动之后,会创建两个线程:一个I/O线程、一个SQL线程,I/O线程读取主库传过来的binlog内容并写入到relay log;SQL线程从relay log里面读取内容,并将更新内容写入到从库里。

4.主从复制出现的问题及解决方案
  问题描述:
  解决方案:
  问题描述:
  解决方案:
  问题描述:
  解决方案:
  问题描述:
  解决方案:
  问题描述:
  解决方案: