Java面试题目记录——MySql主从复制原理

94 阅读1分钟

面试时...

  • 面试官:说下MySql中的主从复制是怎么实现的
  • 我:...MySql主从主要分为Master数据库和Slave数据库,主数据库收到数据库修改请求后,会发送对应的SQL语句给从数据库,从数据库会通过这个SQL语句还原对应的数据出来,此时就完成了主从复制
  • 面试官:好,行

解答方法

  • 首先主数据库写入数据后,会将操作同步到binlog里面
  • 此时主数据库会新建一个dump线程,向从数据库推送对应的数据
  • 然后从数据库会新建一个IO线程来接受主数据库发送过来的binlog日志,写入到relay log的中继日志中
  • 随后从数据库会再启动一个SQL线程,读取relay log并执行,还原主数据库中的数据
  • 最后从数据库在执行SQL语句的同时,会将其记录到binlog里面,此时主从复制就已经完成

6d828e0fb0bbd1e2043e7d84bd37684.png

知识点解释

binlog

binlog是SQL的操作日志,所有执行的SQL语句都会同时记录到binlog里面。

一般情况下下,若数据库文件损坏的时候,可以考虑使用binlog来对数据库进行复原