MySQL主从复制

4 篇文章 0 订阅
3 篇文章 0 订阅

目录

一、MySQL主从复制原理

 二、搭建MySQL主从复制

1、准备两个安装好MySQL的主机作为主从节点

2、重启两个MySQL服务

3、在master主节点上查询binlog文件名和位置

4、根据上一步查到的两个信息,在slave从节点上设置主节点参数并绑定 

6、在主节点建库建表(插入删除数据)等测试,查看从库是否同步

后记


一、MySQL主从复制原理

与Redis主从复制架构诞生的原因一样,MySQL主从复制主要是为了避免单节点主机出现硬件或主机系统故障时可能导致数据丢失的问题,而对数据进行的冗余备份

  • 备份的从节点不对系统提供服务,仅仅负责同步master节点的数据

  • 主从复制架构一旦搭建完成,不能在slave从节点上执行更新操作(如create、update、insert、delete等),否则会导致主从数据不一致甚至同步失败

 二、搭建MySQL主从复制

1、准备两个安装好MySQL的主机作为主从节点

在两个节点的MySQL配置文件my.cnf中分别加入如下配置:

[mysqld]
# 节点唯一标识
server_id=101
# 开启binlog二进制日志功能(关键),值作为日志文件前缀可以随便取
log-bin=mysql-master-bin
# master的binlog日志有变化时告诉从节点要立即同步更新
log-slave-updates
# 让从节点跳过执行错误的sql,不同步
slave-skip-errors=all


# 从节点可以不配置,这里配置了以后可以作为另一个主从架构的master节点
[mysqld]
# 节点唯一标识
server_id=102
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin
# master的binlog日志有变化时告诉从节点要立即同步更新
log-slave-updates
# 让从节点跳过执行错误的sql,不同步
slave-skip-errors=all

2、重启两个MySQL服务

登录MySQL客户端,验证主从节点的server_id配置是否生效「重要」

# 查看主从的server_id变量
show variables like 'server_id';

3、在master主节点上查询binlog文件名和位置

mysql > show master status;

4、根据上一步查到的两个信息,在slave从节点上设置主节点参数并绑定 

change master to master_host='192.168.31.161',master_user='root',master_password='123456',master_log_file='mysql-master-bin.000001',master_port=3306,master_log_pos=155;

 注意:

主从同步需要两台机MySQL的服务端口能够正常通信,配置不成功的大多是防火墙问题。

6、在主节点建库建表(插入删除数据)等测试,查看从库是否同步


后记

MySQL主从复制架构由于从节点不对系统提供服务,仅仅负责同步master节点的数据,和Redis一样存在单节点的高并发问题,所以演化出了MySQL读写分离集群。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值