MySQL 主从复制是一种将 MySQL 存储在主服务器(master)的数据以文件的形式同步到从服务器(slave)的机制,它可以实现读写分离,提高 MySQL 的性能和可用性。

MySQL 主从复制的原理是主服务器在执行写命令时,会将命令记录到二进制日志(binlog)文件中,并创建一个 log dump 线程通知从服务器有数据更新。从服务器会创建一个 I/O 线程向主服务器请求 binlog 文件,并将其保存到中继日志(relay log)文件中。然后从服务器会创建一个 SQL 线程执行中继日志中的命令,从而实现数据的同步。


MySQL 主从复制有不同的同步策略,包括同步策略、半同步策略、异步策略和延迟策略,它们决定了主服务器和从服务器之间数据一致性的强度和性能的影响。同步策略表示主服务器会等待所有的从服务器都回应后才会提交,可以保证数据一致性,但会影响性能和吞吐量;半同步策略表示主服务器至少会等待一个从服务器回应后提交,是一种折衷的方案,寻求了性能和数据一致性的平衡;异步策略表示主服务器不用等待从服务器回应就可以提交,不阻塞主线程,但数据一致性可能会偏差很大;延迟策略表示从服务器要落后于主服务器指定的时间。


更多文章请关注《万象专栏》