mysql单节点扩展为主从复制_MySQL主从复制

本文详细介绍了MySQL的主从复制架构、原理、特点,包括一主一从、一主多从等常见架构。通过配置主从复制,可以实现数据分布、负载均衡、高可用和故障切换等功能。文中提供了详细的配置步骤,包括主节点和从节点的配置,以及在主服务器已运行一段时间后的从节点添加。此外,还讨论了复制错误的解决方法和在主服务器宕机时如何提升从节点为新的主服务器。
摘要由CSDN通过智能技术生成

1、主从复制架构和原理1.1服务性能扩展方式      Scale Up,向上扩展,垂直扩展

Scale Out,向外扩展,横向扩展1.2MySQL的扩展             读写分离            复制:每个节点都有相同的数据集,向外扩展,基于二进制日志的单向复制

1.3复制的功用

@数据分布    @负载均衡读    @备份    @高可用和故障切换    @MySQL升级测试

1.4主从复制架构

一主一从复制架构

4f15a1d407c451e5ececeae1cc59add9.png

一主多从复制架构

ee6d8166ad284857bdf895964ee0f3b9.png

1.5主从复制原理

c5b8def47a57b2309a5139bc3a82886c.png

主从复制相关线程

主节点:

dump Thread:为每个Slave的I/O Thread启动一个dump线程,用于向其发送binary log events

从节点:

I/O Thread:向Master请求二进制日志事件,并保存于中继日志中

SQL Thread:从中继日志中读取日志事件,在本地完成重放

跟复制功能相关的文件:

master.info:用于保存slave连接至master时的相关信息,例如账号、密码、服务器地址等

relay-log.info:保存在当前slave节点上已经复制的当前二进制日志和本地relay log日志的对应关系

mariadb-relay-bin.00000#: 中继日志,保存从主节点复制过来的二进制日志,本质就是二进制日志

范例: 中继日志

[root@slave ~]#file /var/lib/mysql/mariadb-relay-bin.000001

/var/lib/mysql/mariadb-relay-bin.000001: MySQL replication log, server id 18MySQL V5+, server version 10.3.17-MariaDB-log

[root@slave~]#mysqlbinlog /var/lib/mysql/mariadb-relay-bin.000001|head

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;/*!40019 SET @@session.max_insert_delayed_threads=0*/;/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER/*!*/;

# at4#200615 17:58:48 server id 18 end_log_pos 256 CRC32 0x7bd00c79Start:

binlog v4, server v 10.3.17-MariaDB-log created 200615 17:58:48BINLOG'WEbnXg8cAAAA/AAAAAABAAAAAAQAMTAuMy4xNy1NYXJpYURCLWxvZwAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAA5AAEGggAAAAICAgCAAAACgoKAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

1.6主从复制特点

@异步复制       @主从数据不一致比较常见

1.7各种复杂架构

3f9e334e0fddc0da1df6889b4875b5e2.png

@一master/一slave    @一主一从    @从服务器还可以再有从服务器     @Master/Master

@一从多主:适用于多个不同数据库     @环状复制

2、实现主从复制配置

参考官网

https://mariadb.com/kb/en/library/setting-up-replication/

https://dev.mysql.com/doc/refman/5.5/en/replication-configuration.html

主节点配置:

(1) 启用二进制日志

[root@centos8 ~]# vim /etc/my.cnf.d/mariadb-server.cnf

[mysqld]

log_bin

(2) 为当前节点设置一个全局惟一的ID号

[mysqld]

server-id=          #设置的IP最后一位log-basename=master #可选项,设置datadir中日志名称,确保不依赖主机名 文件前缀

server-id的取值范围

1 to 4294967295 (>= MariaDB 10.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值