目录
一、工作原理
复制(replication)是MySQL数据库提供的一种高可用高性能的解决方案,一般用来建立大型的应用。总体来说,replication的工作原理分为以下5个步骤:
步骤一:主库db的更新事件(update、insert、delete)被写到binlog
步骤二:从库发起连接,连接到主库
步骤三:此时主库创建一个binlog dump thread线程,把binlog的内容发送到从库
步骤四:从库启动之后,创建一个I/O线程,读取主库传过来的binlog内容并写入到relay log.
步骤五:还会创建一个SQL线程,从relay log里面读取内容,从Exec_Master_Log_Pos位置开始执行读取到的更新事件,将更新内容写入到slave的db.
复制的工作原理并不复杂,其实就是一个完全备份加上二进制日志备份的还原。不同的是这个二进制日志的还原操作基本上实时在进行中。这里特别需要注意的是,复制不是完全实时地进行同步,而是异步实时。这中间存在主从服务器之间的执行延时,如果主服务器的压力很大,则可能导致主从服务器延时较大。
(来源:《mysql技术内幕》)
二、存在的问题
- 半同步复制—解决数据丢失的问题
- 并行复制—-解决从库复制延迟的问题
本文详细解析了MySQL复制(replication)的工作原理,包括主库更新事件的binlog记录、从库连接与binlog内容的传输过程,以及I/O线程与SQL线程的角色。同时,文章还探讨了半同步复制和并行复制等高级复制技术,以解决数据丢失和复制延迟等问题。

被折叠的 条评论
为什么被折叠?



