`
王之子
  • 浏览: 109920 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

MySQL 5.5 主从复制工作原理

 
阅读更多

    主从复制功能通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间 SELECT 查询可以发送到从服务器,以降低主服务器的查询处理负荷。修改数据的语句仍然发送到主服务器,以使主、从服务器保持同步。如果非更新查询为主(如 SELECT 查询),该负载均衡策略很有效。

    MySQL 主从复制优点如下:

  • 增长健壮性。主服务器出现问题时,切换到从服务器作为备份。
  • 优化响应时间。不要同时在主从服务器上进行更新,这样可能引起冲突。
  • 在从服务器备份过程中,主服务器继续处理更新。

 

主从复制工作原理


    主从复制通过 3 个过程实现,其中一个过程发生在主服务器上,另外两个过程发生在从服务器上。具体情况如下:

  1. 主服务器将用户对数据库更新的操作以二进制格式保存到 Binary Log 日志文件中,然后由 Binlog Dump 线程将 Binary Log 日志文件传输给从服务器。
  2. 从服务器通过一个 I/O 线程将主服务器的  Binary Log 日志文件中的更新操作复制到一个叫 Relay Log 的中继日志文件中。
  3. 从服务器通过另一个 SQL 线程将 Relay Log 中继日志文件中的操作依次在本地执行,从而实现主从之间数据的同步。


  主从复制详细过程如图所示



 
主从复制过程


(1)BinLog Dump 线程

    BinLog Dump 线程运行在主服务器上,主要工作是把 Binary Log 二进制日志文件的数据发送给从服务器。

    使用SHOW PROCESSLIST 语句查看该线程是否正在运行。

(2)I/O 线程

    从服务器执行 START SLAVE 语句后,创建一个 I/O 线程。此线程运行在从服务器上,与主服务器建立连接,然后向主服务器发出更新请求。之后,I/O 线程将主服务器发送的更新操作复制到本地 Relay Log 日志文件中。

    使用 SHOW SLAVE STATUS 语句查看 I/O 线程状态。

 (3)SQL 线程

    SQL 线程运行在从服务器上,主要工作是读取 Relay Log 日志文件中的更新操作,并将这些操作依次执行,从而使主从服务器数据得到同步。

 

主从复制详述

    MySQL 服务器之间的复制是基于二进制日志机制的。主机的数据库实例会把更新和变化的事件写入二进制日志。根据数据库的设置,二进制日志被存储为不同的日志格式。从服务器根据配置从主服务器那里读取二进制日志,然后在本地数据库执行相应的二进制日志事件。

    在复制过程中,主机是被动的。一旦启用了二进制日志,所有的语句都会被记录进里面。每一台从服务器都会接受一份二进制日志副本,从服务器决定二进制日志哪些语句需要被执行;你不应该在主服务器配置只记录某一类的事件。如果你没有指定的话,在主服务上二进制事件在从服务器都会被执行。如果有需要的话,你可以在从服务器上指定那些应用于特殊的数据库或者表事件被执行。

    每一台从服务器都保存有一条二进制日志坐标的记录:文件名和要从主服务器读取和处理的位置。这意味着多台从服务器能同时连接主机和读取同一个二进制日志不同的部分。因为这个过程是由从服务器处理,单台从服务器连接或者断开主服务器的连接都不会影响主服务器的操作。由于每台从服务器都会记住执行到二进制日志的哪个位置,所以即使断开与主服务器的连接,然后再次连接,都会从上次断开的位置读取二进制日志。

    主服务器和从服务器必须配置成唯一的ID。另外,每台从服务器必须配置主服务的主机名、日志名称和读取日志相应的位置。这些详细的配置可以在从服务器上的会话中用 CHANGE MASTER TO  语句来控制。这些配置信息都保存在从服务器的文件 master.info 中。

  • 大小: 41.9 KB
分享到:
评论

相关推荐

    配置mysql5.5主从服务器(转)

    本文将详细介绍如何在两台服务器之间配置 MySQL 5.5 版本的主从复制环境。 #### 二、准备工作 在进行主从复制配置之前,需要确保以下条件已经满足: 1. **两台服务器**:一台作为主服务器(Master),另一台作为从...

    mysql5.5源码主从复制搭建(以两台机器的单实例为例)

    MySQL 5.5源码主从复制搭建(以两台机器的单实例为例) MySQL 5.5源码主从复制搭建是指在两台机器上建立一个主从复制的结构,以实现数据的高可用性和实时备份。主从复制是指在多个服务器上维护同一个数据库的副本,...

    201407Windows中 MySQL5.5主从服务器配置及主或从挂掉问题处理

    MySQL 5.5 在 Windows 上的主从配置是一项重要的数据库管理任务,用于实现数据的...在Windows环境下,MySQL 5.5的主从配置虽然可能比Linux环境复杂一些,但通过详细的步骤和正确配置,可以实现高效且可靠的数据库复制。

    mysql5.6-5.5主从备份

    在这个场景中,我们有两台服务器:A服务器作为主服务器运行MySQL 5.6 on Redhat 5.8,而B服务器作为从服务器运行MySQL 5.5 on Windows 10。 ### 主服务器配置 1. **创建同步用户**: 在主服务器上,你需要创建一...

    mysql5.5源码主从复制搭建(同一台机器双实例3306和3307)

    MySQL 5.5 源码主从复制搭建是一个复杂的过程,尤其在同一台机器上创建两个实例(3306 和 3307),这涉及到数据库的配置、日志同步以及实例间的通信。以下是对这个过程的详细解释: 1. **配置主库(3306 实例)** ...

    MySQL 5.5主从同步设置笔记分享

    MySQL 5.5主从同步是一项关键的高可用性与数据冗余技术,它允许数据库在多个服务器之间复制数据,确保即使主服务器出现故障,从服务器也能接管服务,避免数据丢失。以下是对MySQL 5.5主从同步设置的详细说明: 首先...

    MySQL安装文件MySQL5.5.zip

    标题中的"MySQL安装文件MySQL5.5.zip"指的是包含MySQL 5.5版本安装程序的压缩包。这个压缩文件通常包含了安装MySQL所需的所有组件,包括服务器、客户端工具、连接器以及相关的文档。"mysql-5.5.21.msi"是MySQL ...

    MySQL5.5中文版

    6. **并行复制**:在MySQL5.5中,可以配置多个线程来并行复制二进制日志事件,提高数据复制速度。 7. **更大的元数据限制**:允许更大的表名、字段名和索引长度,以适应更复杂的应用需求。 8. **更好的内存管理**:...

    mysql5.5安装包 Windows (x86, 64-bit)

    4. **复制功能改进**:增强了主从复制的可靠性,支持半同步复制,以减少数据丢失风险。 5. **线程池支持**:对于高并发场景,线程池可以有效地限制并发连接,降低系统资源消耗。 6. **内存管理优化**:减少了内存...

    MySQL5.5的安装包

    此外,还增加了并行复制的能力,提高了主从复制的效率。 MySQL 5.5还增强了对大型表的支持,包括更大的索引和更大的表空间。最大行大小增加到了8KB,同时支持更多的索引类型,如空间索引,这使得在地理数据处理中...

    MySQL5.5.zip

    MySQL5.5是MySQL数据库系统的一个重要版本,它在2010年发布,提供了许多增强功能和性能改进。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),广泛应用于Web应用、数据存储和数据分析等领域。以下是对MySQL5.5...

    mysql 5.5数据库

    在提供的压缩包中,"mysql5.5安装程序"可能包含了安装MySQL 5.5所需的所有文件,包括服务器和客户端组件,以及可能的配置工具。"数据库安装教程"则可能提供了详细的步骤指导,帮助用户正确安装和配置MySQL 5.5服务器...

    Mysql5.5安装文件,里面有安装教程

    3. **增强的复制功能**:引入半同步复制,确保数据在主从服务器间的一致性。 4. **InnoDB默认存储引擎**:从这个版本开始,InnoDB成为默认的存储引擎,提供事务处理和行级锁定。 5. **分区功能的增强**:支持更多...

    mysql5.5免安装版

    主从复制是MySQL中常见的高可用性和负载均衡解决方案。这个版本引入了半同步复制,确保至少有一个从服务器接收到并写入数据后,主服务器才确认事务的完成,从而提高了数据的一致性。同时,复制也支持多线程,使得从...

    mysql5.5从零开始学完全完整版

    10. **复制**:MySQL 5.5支持主从复制,通过复制数据到多个服务器,可以实现高可用性和负载均衡。 11. **性能优化**:MySQL 5.5引入了InnoDB存储引擎的改进,包括更快的全文搜索,更有效的内存管理,以及优化的查询...

    mysql_home-to-client.rar_Home Home_c# mysql_mysql 5.5

    总的来说,这个压缩包提供了在Windows环境下配置MySQL 5.5主从复制的全套资源,包括配置文件示例、步骤指南和可能的辅助数据。通过这些文件,用户可以学习并实践如何建立一个高可用性的数据库集群,这对于任何依赖于...

    mysql5.5版本含安装教程

    4. **半同步复制**:保证了主从复制的事务一致性。 在实际应用中,我们还需要了解**基本操作**,如创建数据库、数据表,插入、查询、更新和删除数据,以及管理用户权限等。 最后,不要忘记**备份和恢复**:定期...

Global site tag (gtag.js) - Google Analytics