ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> 其他数据库 >> MYSQL主从复制

MYSQL主从复制(1/3)

来源:网络整理     时间:2018-08-23     关键词:

本篇文章主要介绍了" MYSQL主从复制",主要涉及到方面的内容,对于其他数据库感兴趣的同学可以参考一下: MySQL主从复制与主主复制MySQL集群(一)之主从复制mysql集群技术:主从复制,读写分离relay 传递Slave 复数、奴隶replication 复...

MySQL主从复制与主主复制

MySQL集群(一)之主从复制
mysql集群技术:主从复制,读写分离

relay 传递

Slave 复数、奴隶

replication 复制

privileges 特权

主从复制,只能有一个主节点,可以用n多个从节点

一、配置文件

在执行这个主从复制之前,首先必须打开 Master 端的Binary Log(MySQL-bin.xxxxxx)功能,否则无法实现。从服务器也需要开启二进制日志和 relay 日志功能 .这样可以从主服务器读取 binlog, 并产生 relaylog。

在启动 MySQL Server 的过程中使用“log-bin” 参数选项

在 my.cnf 配置文件中的 MySQLd 参数组中增加“log-bin” 参数项

一般Linux中的MySQL配置文件都在/etc/my.cnf (windows中的配置文件为mysql.ini)

log-bin=mysql-bin 开启二进制日志

注意:二进制日志必须开启,因为数据的同步实质上就是其他的MySQL数据库服务器将这个数据变更的二进制日志在本机上再执行一遍。

二、Mysql主从复制的原理

1、主服务器凡运行语句 , 都产生一个二进制日志 binlog

2、从服务器不断读取主服务器的 binlog

3、从主服务读取到的 binlog, 转换为自身可执行的 relaylog,

4、执行 relaylog

实现步骤 :

1、首先确保主服务器打开二进制日志功能 ,这样主服务器一旦有数据变化 ,立即产生二进制日志 

2、从服务器也需要开启二进制日志和 relay 日志功能 ,这样可以从主服务器读取 binlog, 并产生 relaylog

3、在主服务器建立一个从服务器的账号 , 并授予各种数据库权限。指定从服务对应的主服务器 , 开启从服务器 .

三、Mysql主从复制的过程

3.1、主从复制详细过程

MySQL 的 Replication 是一个异步的复制过程,在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql 线程和IO 线程)在 Slave 端,另外一个线程(IO 线程)在 Master 端

1) Slave 上面的IO 线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容。

2) Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO 线程根据请求信息读取指定日志指定位置之后的日志信息,返回给 Slave 端的 IO 线程

返回信息中除了日志所包含的信息之外,还包括本次返回的信息在 Master 端的 Binary Log 文件的名称以及在 BinaryLog 中的位置。

相关图片

相关文章