一、相关概念

二、配置一主一从

三、配置一主多从

四、配置主从从

五、配置主主结构

六、配置半同步复制模式

一、相关概念

1.1 主从同步介绍:

  • 存储数据的服务结构,分为2种角色:

  • 主服务器(master):接受客户端访问连接

  • 从服务器(slave):自动同步主服务器数据

1.2主从同步工作原理:

  • 主服务器:启用binlog日志

  • 从服务器:

  • IO线程:复制master主机binlog日志文件里的SQL命令保存到中继日志文件里。

  • SQL线程:执行中继日志文件里的SQL语句,实现与Master数据一致。

1.3常用的主从同步结构:

  1. 一主一从结构

  1. 一主多从结构

  1. 主从从结构

  1. 主主结构

1.4 配置步骤:

配置master服务器

1 启用binlog日志

2 用户授权

3查看日志信息

配置slave服务器

1指定server_id 并重启mysqld 服务

2指定主服务器信息(如果数据不一样,要先确保数据一致)

3启动slave进程

4查看状态信息

二、配置一主一从同步结构

服务器说明:

master1(主服务器)

slave1(从服务器)

第一步配置master1(主)服务器,具体操作如下:

打开MySQL配置文件

写明serverID和开启binlog日志保存退出

重启MySQL服务

管理员用户登陆数据库

添加用户授权

查看到的日志名和偏移量是给从服务器使用的

第二步配置slave1(从)服务器 :

打开数据库配置文件

指定serverID(主从结构中serverID不能重复)

重启MySQL服务

管理员登陆数据库

日志名和偏移量按照自己的主服务器值输入

启动slave进程

查看slave状态,IO和SQL线程都是yes状态就可以

配置一主多从同步结构

服务器说明:

master1(主服务器)

slave1(从服务器)

slave2(从服务器)

在一主一从的结构基础上加一台MySQL服务器(slave2)

配置slave2:

打开slave2配置文件

指定serverID(不与之前主从结构ID重复)

重启slave2的MySQL服务

把master1的库做完全备份拷贝给slave2

slave2使用备份文件恢复数据并在备份文件里查看日志名和偏移量

管理员登陆slave2的数据库

使用并在备份文件里查看到的日志名和偏移量

启用slave进程

查看slave状态,slave2的IO线程和SQL线程都是yes一主多从就搭建好了

四、配置主从从同步结构

主从从结构: 给一主一从结构中的从服务器也配置从服务器

服务器说明:

master1(第一个主服务器)

ms1(master的从服务器,slave1的主服务器)

slave1(ms1的从服务器)

配置master1:

打开master1的MySQL配置文件

指定serverID并开启binlog日志

重启MySQL服务

管理员登陆server1的数据库

添加用户授权

查看日志信息和偏移量

配置ms1:

打开MySQL配置文件

指定serverID,打开binlog日志并且允许级联复制

重启数据库服务并用管理员登陆数据库

使用master1查看的日志名和偏移量

启用slave进程并查看slave状态(IO线程和SQL线程状态必须都为yes)

添加用户授权

查看日志名和偏移量

配置slave1:

打开MySQL配置文件

指定serverID

重启数据库服务并用管理员登陆数据库

指定ms1的日志名和偏移量以及IP地址

打开slave进程并且查看slave状态(IO线程和SQL线程的状态)

五、配置主主同步结构

主主结构也叫互为主从。

服务器介绍:

ms1(ms2的主,同为ms2的从)

ms2(ms1的从,同为ms1的主)

配置ms1和ms2(相同配置。serverID,IP地址,日志名,偏移量不一致):

打开MySQL配置文件

指定serverID并打开binlog日志(ms2换成52即可)

重启数据库服务,管理员用户登陆数据库

添加用户授权

查看日志名和偏移量

指定另一个服务器的IP,日志名,偏移量

打开slave进程,查看slave状态(IO线程和SQL线程状态)

六、配置主从同步复制数据工作模式

支持的工作方式:

第1种 异步复制模式(默认)

主服务器执行完一次事务后,立即将结果返给客户端,

不关心从服务器是否已经同步数据。

第2种 半同步复制模式

主服务器在执行完一次事务后,等待至少一台从服务器同步数据完成,

才将结果返回给客户端。

永久配置编辑主配置文件:

打开mysql配置文件

在配置文件添加“配置模块”和“启用模块”

重启数据库服务,管理员登录

模糊匹配,查看到模块是启用状态即可