本文主要介绍单台服务器MySQL数据库多实例的主从同步,一般常规做主从复制主从服务器在不同的机器上,并且监听端口均为默认的3306端口。
一、环境介绍

    操作系统:CentOS 6.5

    数据库版本:MySQL 5.5.32

    主库主机名称:mysql-master(172.18.10.222:3306)

    从库主机名称:mysql-slave(172.18.10.222:3307)

二、主从同步原理介绍

MySQL数据库多实例主从同步_第1张图片

 简单描述主从复制原理:

 1、在Slave服务器命令行执行start slave,开启主从复制开关

 2、此时Slave服务器的I/O线程会通过在master服务器授权的复制权限用户请求连接master服务器,并请求从指定位置的binlog日志之后发送binlog日志内容

 3、Master服务器接收到来自Slave服务器的I/O请求后,Master服务器上的I/O线程根据Slave请求的位置之后读取binlog日志内容,返回给发送请求的Slave服务器端的I/O线程,返回的信息除了binlog日志,还包括本次返回日志内容之后新的binlog文件名称及在binlog中下一个指定更新位置

 4、Slave服务器端接收到Master服务端返回的日志相关信息后,由本端的I/O线程依次将binlog信息写入relaylog文件的最末端,并且将新的binlog文件名称及位置信息记录到master-info文件中,以便下次向Master发送请求信息时通知Master服务端从哪个日志文件的哪个位置返回内容

 5、Slave服务器端的SQL线程实时监控本地relaylog日志新增日志内容后及时解析relaylog日志并且在本端数据库服务器顺序执行与Master服务端相同的SQL脚本,  达到与Master服务端实时同步的结果

三、配置主从同步

 3.1 安装数据库并配置多实例

  具体安装配置步骤请参照 配置MySQL数据库多实例

 3.2 主库开启binlog并配置server-id

[mysqld]
log-bin = /data/3306/mysql-bin
server-id = 1