mysql高级 --- 主从复制

本文详细解析MySQL主从复制的工作原理及配置流程。包括复制的三个基本步骤:记录二进制日志、复制中继日志和重做事件。探讨复制基本原则与常见问题,如延时,以及一主一从的配置示例。

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

主从复制

  • 复制的基本原理
    • slave会从master读取binlog来进行数据同步
    • 三步骤+原理图
      • MySQL复制过程分成三步:在这里插入图片描述
      1. master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;
      2. slave将master的binary log events拷贝到它的中继日志(relay log);
      3. slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的
  • 复制的基本原则
    • 每个slave只有一个master
    • 每个slave只能有一个唯一的服务器ID
    • 每个master可以有多个salve
  • 复制的最大问题
    • 延时
  • 一主一从常见配置
    • mysql版本一致且后台以服务运行

    • 主从都配置在mysqld节点下,都是小写

    • 主机修改my.ini配置文件

      1. 必须主服务器唯一ID —> server-id=1
      2. 必须启用二进制日志
        log-bin=‪D:\devSoft\mysql-5.7.26-winx64\data\mysqlbin
      3. 可选 启用错误日志
        log-err=D:\devSoft\mysql-5.7.26-winx64\data\mysqlerr
      4. 可选 根目录
        basedir=D:\devSoft\mysql-5.7.26-winx64
      5. 可选 临时目录
        tmpdir=D:\devSoft\mysql-5.7.26-winx64
      6. 可选 数据目录
        datadir=D:\devSoft\mysql-5.7.26-winx64\data
      7. read-only=0 ---- 主机,读写都可以
      8. [可选]设置不要复制的数据库 ---- binlog-ignore-db=mysql
      9. [可选]设置需要复制的数据库 ----- binlog-do-db=需要复制的主数据库名字
    • 从机修改my.cnf配置文件

      1. 必须从服务器唯一ID
      2. [可选]启用二进制日志
    • 因修改过配置文件,请主机+从机都重启后台mysql服务

    • 主机从机都关闭防火墙

    • 在Windows主机上建立帐户并授权slave

      • 在这里插入图片描述
      • 在这里插入图片描述
    • 在Linux从机上配置需要复制的主机

      • 在这里插入图片描述
    • 主机新建库、新建表、insert记录,从机复制

    • 如何停止从服务复制功能

      • stop slave;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值