mysql面试题——主从复制

一:如何提升数据库并发能力?

那么首先考虑的是如何优化SQL和索引 ,这种方式简单有效;
其次采用缓存的策略 ,比如使用Redis将热点数据保存在内存数据库中,提升读取的效率;
最后才是对数据库采用主从架构 ,进行读写分离

二:主从复制的作用

  1. 提高数据库的吞吐量
  2. 读写分离
  3. 数据备份
  4. 具有高可用性

三:MySQL主从复制的过程

MySQL的主从复制,是基于binlog实现的,主要过程是这样的:

  1. 从服务器在开启主从复制后,会创建出两个线程:I/O线程和SQL线程
  2. 从服务器的I/O线程,会尝试和主服务器建立连接,相对应的,主服务中也有一个binlog dump线程,是专门来和从服务器的I/O线程做交互的。
  3. 从服务器的I/O线程会告诉主服务的dump线程自己要从什么位置开始接收binlog
  4. 主服务器在更新过程中,将更改记录保存到自己的binlog中,根据不同的binlog格式,记录的
    内容可能不一样。
  5. 在dump线程检测到binlog变化时,会从指定位置开始读取内容,并把它发送给从服务器的I/O
    线程
  6. 从服务器的I/O线程接收到通知事件后,会把内容保存在relay log中。
  7. 从服务器还有一个SQL线程,伦会不断地读取他自己的relay log中的内容,把他解析成具体的操作,然后写入到自己的数据表中。

四:什么是数据库的主从延迟,如何解决?

数据库的主从延迟是指在主从数据库复制过程中,从服务器上的数据与主服务器上的数据之间存在的时间差或延迟。一般来说导致主从延迟可能由多种因素引起,以下是一些常见的原因:

  1. 网络延迟:主节点和从节点之间的网络延迟导致复制延迟这是比较常见的一种情况,
  2. 从节点性能问题:从服务器的性能不足也可能导致复制延迟。如果从服务器的硬件资源
    (CPU、内存、磁盘)不足以处理接收到的复制事件,延迟可能会增加。
  3. 复制线程不够:当从节点只有一个线程,或者线程数不够的时候,数据回放就会慢,就会导致主从节点的数据延迟。
    解决办法
    1:优化网络:确保主节点和从节点之间的网络连接稳定,尽量同城或者同单元部署,减小网络延迟。
    2:提高从服务器性能:增加从服务器的硬件资源,如CPU、内存和磁盘,以提高其性能,从而更快地处理复制事件。
    3:优化SQL,避免慢SQL, 减少批量操作

你可能感兴趣的:(mysql,mysql)