数据库-MySQL主从复制(理论篇)。
1.什么是主从复制?
MySQL的主从复制,就是建立一个或多个和主数据库完全一样的数据库环境,这些数据库被称为从数据库,主数据库一般用来实时的业务数据写操作(插入、更新、删除),从数据库常用的读取为主。
2.主从复制的优点
1)从数据库可以作为备用数据库进行操作。当主数据库出现故障之后,从数据库可以替代主数据库继续工作,不影响公司的业务。
2)方便架构的扩展。随着业务量越来越大,I/O访问频率过高,单机已无法满足,此时主从数据库架构,可以降低单个服务器磁盘I/O访问的频率,提高单个机器的I/O性能。
3)读写分离,分散服务器压力,使数据库能支撑更大的并发。
3.主从复制的原理
概述:数据库都有个binlog二进制文件,记录了所有事务执行的sql语句。那么从数据库把主数据库的binlog文件的sql语句复制过来,再执行一次这些sql语句就可以实现主从一致了。
开局一张图,内容全靠吹。主从复制原理如下图:
图例解释:
1)主数据库进行的insert、update、delete操作会被写入到binlog日志里面;
2)从库发起连接,连接到主库,此时主库创建一个binlog dump thread线程,把binlog的内容发送到从库;
3)从库启动之后,会创建两个线程:一个I/O线程、一个SQL线程,I/O线程读取主库传过来的binlog内容并写入到relay log;SQL线程从relay log里面读取内容,并将更新内容写入到从库里。
4.主从复制出现的问题及解决方案
问题描述:
解决方案:
问题描述:
解决方案:
问题描述:
解决方案:
问题描述:
解决方案:
问题描述:
解决方案: