mysql主从复制过程

一、主从复制的工作原理
Mysql在Master与slave之间实现整个复制的过程由3个线程来完成的,其中两个线程(SQL线程和IO线程)在
Slave端,另外一个线程(IO)在Master端
  要实现Mysql的复制必须首先打开Master端的binary log(也就是二进制日志)否则无法实现.
 Mysql复制基本过程如下:
   (1)Slave上面的IO 线程链接上Master,并且请求指定日志文件的位置(或者 从开始的日志之后的日志内容)
   (2)Master接收到来自Slave的IO线程请求后,通过负责复制的IO线程根据这个请求信息指定日志的位置后,把这个信息返回给Slave的IO线程(返回的信心当中除了日志所包含的信息外,还包括了Master端的二进制文件名称和 二进文件的位置)
   
   (3)Slave的IO线程接收到Master端的返回信息之后,将日志内容一次写入slave端的Relay log文件,(mysql-relay-bin.xxx)当中,并且读取到Master端的bin-log文件和位置记录,
   记录到master-info文件当中,以便下一次能够清楚的告诉Master我需要从某个bin-log的哪个位置开始往后的内容,请发给我。
   
   (4)、Slave的SQL线程检测Relay log中心增加了内容后,马上解析Master二进制文件中的内容,并且执行里面的Query语句.
   
  优点:如果主服务器出现问题,可以快速切换到从服务器提供的服务
        可以在从服务器上执行查询操作,降低主服务器的访问压力
        可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。
   缺点:根基目前业界的备份数据发送方式来看,当第一台服务器崩溃后,仍会有少量的新数据没来的及送到第二台服务器,这部分数据会丢失。

读写分离优点:增加了第二台服务器的压力,也就是增加了不稳定性。读写分离是在一个资金比较缺乏,又需保证数据安全的
前提下,在双机热备的方案上作出的一种折中方案。 

二、主从的环境
Master IP:10.0.0.201
Slave  IP:10.0.0.202

(1)在Master上操作
首先将log-bin日志打开
其次将server-id设置为1
将log-slave-updates给关闭掉

建立一个内部复制通信用户
>grant replication slave on *.* to ‘admin‘@‘10.0.0.202‘ identified by ‘123456‘;
flush privileges;
show master status\G;

(2)在Slave上操作
首先将log-bin日志打开
其次将server-id设置为2
将log-slave-updates打开
/etc/init.d/mysqld restart

>stop slave;
>change master to  
master_host=‘10.0.0.201‘, 
master_user=‘admin‘, 
master_password=‘123456‘,
master_log_file=‘mysql-bin.000005‘, 
master_log_pos=578;
>start slave;
>show slave status\G;
进行测试

mysql主从复制过程

时间: 2024-10-10 21:59:56

mysql主从复制过程的相关文章

记录一次工作中配置的Mysql主从复制过程

Mysql主从复制教程 1.安装mysql(安装步骤跳过)2.配置密码.(如果忘记密码或者误操作删除了root用户,使用如下命令,没有忘记就跳到3)将skip-grant-tables放在/etc/my.cnf里的[mysqld]下的第一行,可免密码登录,然后更新或者插入user表数据.set password=password("root");(设置新密码)CREATE USER 'replication'@'192.168.3.212' IDENTIFIED BY 'root';u

MySQL主从复制原理及配置过程

一.Mysql数据库的主从复制原理过程: Mysql的主从复制是一个异步的复制过程,数据将从一个Mysql数据库(master)复制到另一个Mysql数据库(slave),在Master和Slave之间实现整个主从复制的过程是由三个线程参与完成的.其中有两个线程(SQL线程和I/O线程)在Slave端,另外一个线程(I/O线程)在Master端 ,要实现Mysql的主从复制,首先必须打开Master端的binlog记录功能,否则就无法实现.因为整个复制过程实际上就是Slave从Master获取b

【转】解决MySQL主从复制不一致的情况

解决MySQL主从复制不一致的情况 十月 09, 2011 ( NO COMMENTS ) 稍微有些规模的网站,基本上都会配置mysql主从复制,一方面用mysql的主从做数据库的读写分离,另一方面mysql本身的单机备份不是很强,一般采用主从架构,在从上进行数据备份. 在MySQL主从复制过程中或多或少出现一些主从不同步的情况,本文将对数据主从不同步的情况进行简单的总结,请注意本文主要从数据库层面上探讨数据库的主从不一致的情况. 1.网络的延迟 由于mysql主从复制是基于binlog的一种异

MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结

一.主从复制搭建方法参考 1.MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解请参考: http://blog.csdn.net/xlgen157387/article/details/51331244#comments 2.使用mysqlreplicate命令快速搭建 Mysql 主从复制: http://blog.csdn.net/xlgen157387/article/details/52452394 二.Mysql 主从复制的常用拓扑结构 2.1.一主一从 是最

Mysql主从复制原理与实践

Mysql主从复制原理: 1.Mysql支持单双向.链式级联.异步复制.可以一主一从,也可以一主多从. 2.链式级联中的从是下级从的主.类似A-->B-->C-->D. 3.主从复制配好后,数据库的更新必须在主服务器上进行,以免造成主从冲突. 4.主从服务器架构可实现对用户的请求实现读写分离.从处理用户的select,主处理update,insert,delete等更新.以此保持主从实时同步. 5.可以把从服务器根据业务来拆分. 6.mysql主从复制是异步复制.master与slave

(转)MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总

二.Mysql 主从复制的常用拓扑结构 2.1.一主一从 是最基础的复制结构,用来分担之前单台数据库服务器的压力,可以进行读写分离.<喎?"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMiBpZD0="22一主多从">2.2.一主多从 一台 Slave 承受不住读请求压力时,可以添加多台,进行负载均衡,分散读压力. 还可以对多台 Slave 进

MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现

Technorati 标签: 那你魔鬼 一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读

Mysql主从复制原理过程

1.自个画的流程图. 2.简单描述mysql主从复制原理过程 2.1(对应上图步骤1) 在SLAVE服务器上执行start slave命令开启主从复制开关,开始进行主从复制. 2.2(对应上图步骤2) 此时,SLAVE服务器的I/O线程会通过在MASTER上已经授权的复制用户权限请求连接MASTER服务器,并请求从指定binlog日志文件的指定位置(日志文件名和位置就是在配置主从配置复制服务时执行change master命令指定的)之后开始发送binlog日志内容. 2.3(对应上图步骤3)

Mysql主从复制(同步原理及搭建过程)

一个网站,最重要的就是它上边的数据,但是当有一天数据库挂掉了,将影响整个网站的正常运行,mysql的主从复制能够很好的解决这个问题,mysql主从复制就是,将一个主数据库服务器(Master)的数据同步到另一个备用数据库服务器(Slave)上,当正在使用的数据库服务器因故障当机时,我们可以把网站数据指向另一个拥有同样数据的数据库服务器上,快速的恢复网站数据. 一.Mysql主从复制原理: 在master上开启log-bin日志功能,记录数据库的操作信息,包括更新,插入,删除等. 主从复制用三个线