我们来思考如果在企业网站中,后端MYSQL数据库只有一台时候,会有以下问题:
1、单点故障服务不可用 2、无法处理大量的并发数据请求 3、数据丢失
所以通过主从复制后,它的优点就很明显
二进制文件(binlog)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但不包括数据查询(Select、show)语句。
上面主要分成了三步,下面会详细说明。
(1) 主库的更新事件(update、insert、delete)会按照顺序写入bin-log中。主库会为从库开启dump线程,该线程会去读取bin-log日志
(2) 从库会开启一个I/O线程 通过请求主库的dump线程读取bin-log日志,然后写入从库的relay log中继日志中。
(3) 从库还有一个 SQL线程,实时监控 relay-log中继日志内容是否有更新,解析文件中的SQL语句,在从数据库中去执行。