主从复制功能通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间 SELECT 查询可以发送到从服务器,以降低主服务器的查询处理负荷。修改数据的语句仍然发送到主服务器,以使主、从服务器保持同步。如果非更新查询为主(如 SELECT 查询),该负载均衡策略很有效。
MySQL 主从复制优点如下:
- 增长健壮性。主服务器出现问题时,切换到从服务器作为备份。
- 优化响应时间。不要同时在主从服务器上进行更新,这样可能引起冲突。
- 在从服务器备份过程中,主服务器继续处理更新。
主从复制工作原理
主从复制通过 3 个过程实现,其中一个过程发生在主服务器上,另外两个过程发生在从服务器上。具体情况如下:
- 主服务器将用户对数据库更新的操作以二进制格式保存到 Binary Log 日志文件中,然后由 Binlog Dump 线程将 Binary Log 日志文件传输给从服务器。
- 从服务器通过一个 I/O 线程将主服务器的 Binary Log 日志文件中的更新操作复制到一个叫 Relay Log 的中继日志文件中。
- 从服务器通过另一个 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 中。
相关推荐
mysql5.5 主从配置,可以使得mysql服务器配置更加简单,熟练
配置mysql5.5主从服务器(转)
mysql5.6-5.5主从备份 A服务器(主服务器Master):9.1.6.217 mysql:5.6 redhat5.8 B服务器(从服务器Slave):localhost mysql:5.5 win10
Windows,MySQL5.5,主从配置,主或从挂掉问题处理
MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能、更高可靠性要求的场合
mysql5.5源码主从复制搭建(以两台机器的单实例为例)
mysql5.5源码主从复制搭建(同一台机器双实例3306和3307)
主要介绍了MySQL 5.5主从同步设置笔记分享,需要的朋友可以参考下
这里我以MySQL5.5为例来说一下MySQL的主从复制的原理: 首先由备节点的I/O线程负责向主节点请求数据,主节点验证通过以后会由dump线程把数据发送给备用节点。备用节点的I/O线程收到资源后会把把这些数据写入到中继...
Mysql windows下 主从数据库配置,数据库版本mysql 5.5,包括测试程序和步骤
mysql_5.5._下的主从模式.pdf
mysql_5.5._下的主从模式.docx
MySQL主从复制优点 1、横向扩展解决方案 - 在多个从站之间分配负载以提高性能。在此环境中,所有写入和更新都必须在主服务器上进行。但是,读取可以在一个或多个从设备上进行。该模型可以提高写入性能(因为主设备专...
一主一从: Master: OS:centos release 5.6 DB:mysql ...id、与log-bin两项 server-id=1 log-bin=/var/lib/mysql/mysql-bin datadir=/var/lib/mysql //为了使用事务的InnoDB在复制中最大的持久性和一致性,你应该指定
• mysql5.5:不支持并行复制,大伙快升级MySQL版本; • mysql5.6:按照库并行复制,建议使用“多库”架构; • mysql5.7:按照GTID并行复制;