就说白了,MySQL 的主从同步到底解决了什么样的一个问题。这道面试题啊并不难,其实经历过主从复制的都应该知道它为了什么。比如读写分离,分库分表,都是我们主动同步要解决一个关键点。但是面试中如果问到了,你要给他一套理论知识或者详细的一个文字描述,需要详细剖析解析啊。
主从同步问题
在业务复杂系统中,有这么一个场景,有一条 SQL 语句需要锁表,导致是暂时不能使用读的服务,那么就很影响运行中的业务了。使用主从复制,让主库负责写,存库负责读,这样即使出现了锁表的情况,读从库也可以读取我们正常的一个业务数据。在我们项目初期,业务比较简单或数量比较少的时候,你用单台的一台 MySQL 可以保证我们的服务或者数据响应了。但是如果你的业务量比较大,你的并发量比较大的时候,你一台数据库肯定保证不了的。因此在后面的时候可能会有多台 MySQL 服务器。这个时候你要考虑一件事儿,我再进行多台 MySQL 存储的时候,每个数据库里面我必须要保证都可以被外部访问到,同时访问每一个数据库对于用户而言应该是透明的。比如数据必须要保持一致,所以我们可以怎么做?比如我让前两台你来负责写业务,后两台用来负责读业务,这是不是就没问题了?因此在这种应用场景里面,我们必须要保证每一台数据库里面的数据必须是一致同步的,那这个时候就需要主从同步问题了。
数据的热备
做数据的热备怎么理解,其实也很简单,除了主从外,还有一种叫什么叫主备。什么是主备呢?也很好理解,我现在有一台数据库,刚开始一直用着非常没问题。假如有一天你们的运营部也好,还是营销部也好,它发布了一个活动,