主从复制学习记录

本文详细介绍了数据库主从复制的工作原理,包括其意义、要求和配置过程。主从复制是实现数据库灾备和读写分离的重要手段。在配置过程中,提到了GTID的使用以及遇到的一些坑,如正确开启和配置GTID以确保一致性。同时,讨论了不同的主从复制拓扑结构及其适用场景,并警告了不适宜使用的结构。最后,概述了各种复制方法,如异步复制、全同步复制和半同步复制,以及GTID在主从复制中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作原理

主从复制是数据库的一种灾备方案,通过逻辑binlog日志复制到要同步的服务器本地,然后本地线程读取日志的SQL语句,重新应用到mysql数据库
主从复制拷贝的不是文件是逻辑

主机(master)将改变记录到二进制日志(binary log),从机(slave)将主机的日志拷贝到自己的中继日志(relay log),然后读取执行中继日志修改数据库

意义

  1. 数据库热备

  2. 数据库备份可以在从数据库执行,避免影响业务

  3. 读写分离

    读写分离

要求

  • 主服务器:

    • 开启二进制日志
    • 配置唯一的server-id
    • 获得master二进制日志文件名及位置
    • 创建一个用于slave和master通信的用户账号
  • 从服务器:

    • 配置唯一的server-id
    • 使用master分配的用户账号读取master二进制日志
    • 启用slave服务

相关配置

  1. 准备目录

binlog和relaylog

mkdir -p /data/mysql/{
   binlog,relaylog}
chown -R mysql:mysql /data/mysql/
chmod -R 775 /data/mysql/{
   binlog,relaylog}
  1. 修改配置文件

    主机
    server_id=1353306
    # 重要,服务器id需要不相同#####################################必配
    log_bin=/data/mysql/binlog/itpuxdb-binlog
    # 打开二进制日志#############################################必配
    log_bin_index=/data/mysql/binlog/itpuxdb-binlog.index
    # 二进制日志的索引 log_bin开启后默认与其同目录 
    enforce_gtid_consistency=on
    # 强制gtid一致,开启后gtid才能开启#############################必配
    gtid_mode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值