mysql 主从搭建

mysql 主从搭建(本机)

原理

MySQL服务器之间的主从同步是基于二进制日志(binlog)机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。

docker 安装mysql
  • 启动mysql-3306
docker run --name mysql-3306 --privileged=true -v /Users/liyadong/tools/docker/mysql/data:/var/lib/mysql  -v /Users/liyadong/tools/docker/mysql/log:/var/log/mysql  -v /Users/liyadong/tools/docker/mysql/conf.d:/etc/mysql/conf.d -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest
  • 启动mysql-3307
docker run --name mysql-3307 --privileged=true -v /Users/liyadong/tools/docker/mysql-3307/data:/var/lib/mysql  -v /Users/liyadong/tools/docker/mysql-3307/log:/var/log/mysql  -v /Users/liyadong/tools/docker/mysql-3307/conf.d:/etc/mysql/conf.d -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -d mysql:latest
配置主从
  1. 在master 节点创建用户、并配置权限

    • 进入master容器
    docker exec -it <master节点容器id> /bin/bash
    
    • 登陆mysql
    mysql -uroot -p123456
    

    在这里插入图片描述

    • 创建slave用户,并赋权
    create user 'slave'@'%' identified by '123456';
    grant replication slave, replication client on *.* to 'slave'@'%';
    flush privileges;
    
    • 查看master日志状态
    show master status;
    

    注意:File表示binlog文件名,Position表示日志文件的起始位置,Binlog_IgnoreDB表示主从同步忽略的库
    在这里插入图片描述

    • 查看master节点ip地址
    docker inspect <master节点容器id> 
    

在这里插入图片描述

  1. 配置slave与master关联

    • 进入slave 节点

      docker exec -it <slave节点容器id> /bin/bash
      
    • 登陆到mysql

      mysql -uroot -p123456
      
    • 绑定与master的关系

      change master to master_host='172.17.0.3', master_user='slave', master_password='123456', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=566;
      

      [!NOTE]

      master-host 为 主节点ip,master_user为主节点用户名,master_password为slave用户密码,MASTER_LOG_FILE为主节点日志文件名,MASTER_LOG_POS为主节点日志位置

    • 开始主从同步

      start slave;
      
    • 查看主从同步状态

      show slave status;
      

在这里插入图片描述

 > Slave_IO_Running: Yes, Slave_SQL_Running: Yes 即为主从成功
  • 验证(master节点插入一条数据,查看slave库数据)

    主节点

在这里插入图片描述
从节点
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值