主从复制是用来建立一个和主数据库一样的数据库,我们把它成为从数据库;
主从复制作用
如果主节点出现故障,我们就直接把从服务器升级为主服务器,来保证服务器不会出现单点故障问题。
如果并发请求很大的时候,我们可以进行读写分离,让主数据库写,从数据库读。
如果主数据库数据丢失,从数据库还有一份,避免了数据丢失风险。
主从复制原理
master的更新事件会按照顺序写入bin-log中。当slave连接到master后,master会为slave开启binlog dump线程,该线程会去读取bin-log日志
slave连接到master后,slave库有一个I/O线程 通过请求binlog dump thread读取bin-log日志,然后写到从库的rekay log日志中。
slave还有一个SQL线程,实时监控relay-log日志内容是否有更新,解析文件中的SQL语句,再slave数据库中去执行。
既然要把时间记录到bin-log日志,那么对于master就必须开启bin-log功能
整个mysql主从复制一共开启3个线程。master开启IO线程,slave开启IO线程和SQL线程。
master和slave交互的时候,是slave去请求master,slave通过IO线程。
连接master后发起请求,master服务器收到slave IO线程发来的请求信息,IO线程去将bin-log内容返回给slave IO线程。
目前有0 条留言