深入理解 MySQL —— mysql 主从配置

1. 在 hadoop103 节点安装mysql

安装步骤

2. mysql 基于 binlog 的主从复制原理

在这里插入图片描述

  1. Master 将操作记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events)。
  2. Slave 通过 I/O Thread 异步将 Master 的 binary log events 拷贝到它的中继日志(relay log)。
  3. Slave 执行中继日志中的事件,匹配自己的配置将需要执行的数据,在 Slave 服务器上执行一遍,从而达到复制数据的目的。

3. 主从复制配置

我们选择 hadoop102 节点为主,hadoop103节点为从。

找到 my.cnf

[dwjf321@hadoop102 software]$ locate my.cnf
/etc/my.cnf
/etc/my.cnf.d

3.1 Master 配置

  1. 创建主从复制用户

    create user m2ssync identified by '123456';
    
  2. 给新用户赋权

    grant replication slave on *.* to 'm2ssync'@'%' identified by '123456';
    
  3. 配置 my.cnf

    指定服务ID

    [dwjf321@hadoop102 software]$ sudo vim /etc/my.cnf
    server-id=102
    log-bin=mysql-bin
    
    
  4. 查看 Master 状态

    show master status;
    

    在这里插入图片描述

3.2 Slave 配置

  1. 配置 my.cnf

    指定服务器 ID,指定同步的 binlog 存储位置

    [dwjf321@hadoop103 software]$ sudo vim /etc/my.cnf
    server-id=103
    read_only=1
    
  2. 接入 slave 的 mysql 服务

    配置:

    -- 设置跳过报错
    set global SQL_SLAVE_SKIP_COUNTER=1;
    
    change master to 
    master_host='hadoop102',
    master_port=3306,
    master_user='m2ssync',
    master_password='123456',
    master_log_file='mysql-bin.000001',
    master_log_pos=2903;
    
  3. 启动 slave

    start slave;
    

3.2 主从同步异常处理

  1. 停止 slave

    stop slave;
    
  2. 查看 master status

    刷新日志

    flush logs;
    

    查看状态

    show master status;
    
  3. 修改 slave 的 change

    change master to 
    master_host='hadoop102',
    master_port=3306,
    master_user='m2ssync',
    master_password='123456',
    master_log_file='mysql-bin.000001',
    master_log_pos=2904;
    
  4. 启动 slave

    start slave;
    

3.3 异常处理

MySQL主从复制,启动slave时报错Slave failed to initialize relay log info structure from the repository

  1. 停止 slave

  2. 执行 reset slave

    reset slave;
    

    slave reset 执行候做了这样几件事:

    1. 删除slave_master_info ,slave_relay_log_info两个表中数据;
    2. 删除所有relay log文件,并重新创建新的relay log文件;
    3. 不会改变gtid_executed 或者 gtid_purged的值
  3. 执行

    change master to 
    master_host='hadoop102',
    master_port=3306,
    master_user='m2ssync',
    master_password='123456',
    master_log_file='mysql-bin.000001',
    master_log_pos=2904;
    
  4. 启动 slave

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值