基于主从复制,一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去,数据读取走从库。
mysql主从复制用途:实时灾备,用于故障切换。读写分离,提供查询服务。备份,避免影响业务
mysql主从复制原理:主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日志拷贝到自己本地,写入一个 relay 中继日志中。接着从库中有一个 SQL 线程会从中继日志读取 binlog,然后执行 binlog 日志中的内容,也就是在自己本地再次执行一遍 SQL,这样就可以保证自己跟主库的数据是一样的。 i/o线程,去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog; SQL线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;
mysql主从复制存在的问题: 数据丢失:主库突然宕机,