面试题答案
一键面试MariaDB主从复制基本原理
- 二进制日志(Binary Log):主库(Master)将数据库的写操作记录到二进制日志中。这些日志记录了所有对数据库数据有修改的操作,如
INSERT
、UPDATE
、DELETE
等语句。 - 中继日志(Relay Log):从库(Slave)通过I/O线程连接到主库,将主库的二进制日志内容拷贝到自己本地的中继日志中。
- SQL线程:从库的SQL线程读取中继日志中的记录,并在从库上按照顺序重新执行这些操作,从而使从库的数据与主库保持一致。
关键线程及其作用
- 主库线程:
- Binlog Dump线程:当从库连接到主库时,主库会为每个连接的从库创建一个Binlog Dump线程。该线程负责读取主库的二进制日志,并将其发送给对应的从库。
- 从库线程:
- I/O线程:负责连接主库,请求主库发送二进制日志内容,并将接收到的日志数据写入到本地的中继日志中。
- SQL线程:负责读取中继日志中的事件,并在从库上执行这些事件,以实现数据的同步。