MySQL之搭建主从复制

17 篇文章 0 订阅

搭建MySQL主从复制

  • 克隆虚拟机,一主一从
    • 先将需要克隆的虚拟机停掉,“右键”->“管理”->“克隆”
      在这里插入图片描述
      “创建完整克隆”->“命名、存放位置”->“完成”
      在这里插入图片描述
      等待完成。。。
      需要修改几个点:
      • “网络适配器”->“高级”->“生成”->“确定”
        在这里插入图片描述
        运行虚拟机
      • 修改IP地址和UUID,命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
        IP地址和UUID随意更改即可
        重启网络,命令:systemctl restart network
      • 修改MySQL的UUID,命令:vim /var/lib/mysql/auto.cnf
        UUID随意更改
        重启MySQL,命令:systemctl restart mysqld

至此虚拟机克隆完成


  • 搭建MySQL主从复制

    • MySQL主从复制原理
      在这里插入图片描述
  • 启动两台虚拟机:centos7-2(主机)centos7-3(从机)

    • 修改主机配置:

      vim /etc/my.cnf
      
      #主服务器唯一id
      server-id=1
      #启动二进制日志
      log-bin=mysql-bin
      #设置不需要复制的数据库(可设置多个)
      binlog-ignore-db=数据库名称
      #设置需要复制的数据库
      binlog-do-db=数据库名称
      #设置binlog格式
      binlog_format=STATEMENT
      

      在这里插入图片描述

在这里插入图片描述

==***注意:需要复制的数据库是还没有创建的,因为mysql的主从复制是从接入的那一刻开始,不是复制全部***==
  • 修改从机配置:

    vim /etc/my.cnf
    
    #从服务器唯一id
    server-id=2
    #启动中继日志
    relay-log=mysql-relay
    

    在这里插入图片描述
    重启两台服务器的mysql服务并查看状态,确保启动成功

    systemctl restart mysqld
    systemctl status mysqld
    
  • 授权从机复制数据

    CREATE USER 'slave1'@'%' IDENTIFIED BY '123456';
    
    • 如果在这一步报如下错误,请查看
      ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
      
    GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%';
    flush privileges;
    
  • 查看log日志及接入点信息
    在这里插入图片描述
    File:为log日志
    Position:为接入点
    Binlog_Do_DB:为要复制的库名
    Binlog_Ignore_DB:为不要复制的库名
    Binlog_Do_DB和Binlog_Ignore_DB设置一个即可

切到从机执行

  • 对应修改后复制到从机执行

    CHANGE MASTER TO MASTER_HOST='192.168.171.100',
    MASTER_USER='slave1',
    MASTER_PASSWORD='123456',
    MASTER_LOG_FILE='mysql-bin.000002',
    MASTER_lOG_POS=751;
    

    启动复制功能并查看主从复制状态,命令:

    start slave;
    show slave status \G
    

    如图,红色框中为Yes即表名成功,如果不是,请查看黄色框中的Error相关报错信息,进行修复。
    在这里插入图片描述

  • 测试

    • 从主库创建名为 mycat_01 的数据库,到从库查看。
      此处的 mycat_01是我设置的需要复制的库名,需要根据自己的修改。
      主库命令:
      CREATE DATABASE `mycat_01` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
      
      从库命令:
      show databases;
      
      在这里插入图片描述
  • 停止 从 服务复制功能
    注意:这里的命令需要切换到3306端口,也就是mysql中执行,包括停止从复制,重新配置 主 ,开启从复制
    停之前记得记录 Position 参数

    -- 查看当前master信息,记录 Position
    show master status \G
    -- 停止从复制
    stop slave;
    

    在这里插入图片描述

  • 重新配置 主 并开启从复制

    --  重新配置 主
    reset slave;
    
    -- 配置连接 主 的相关信息
    -- CHANGE MASTER TO MASTER_HOST='192.168.171.100',
    -- MASTER_USER='slave1',
    -- MASTER_PASSWORD='shuo',
    -- MASTER_LOG_FILE='mysql-bin.000001',
    -- MASTER_lOG_POS=154;
    
    -- 开启从复制
    start slave;
    
  • 开启完注意查看 从 状态,以确保成功

    show slave status \G
    

其他章节 -> 跳转

end...
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s_wei_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值