博客详情

mysql中配置双主双从 (原创)

作者: 朝如青丝暮成雪
发布时间:2020-05-16 16:26:20  文章分类:mysql   阅读(1182)  评论(0)

mysql中配置双主双从: M1-S1  M2-S2  ,M1和M2互为主从 。

为了完成这个实验,我们需要准备4个mysql实例,我们还是用docker-compoe来搞。

mysql1   M1,mysql2   S1

mysql3   M2 , mysql4   S2


mkdir work2
vi docker-compose.yml,内容如下:


version: '3'
services:
 
  mysql1:
    container_name: mysql1
    image: mysql:5.7
    ports:
      - "3307:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - "/data/mysql1/lib:/var/lib/mysql"
      - "/data/mysql1/mysql.conf.d:/etc/mysql/mysql.conf.d"
      - "/data/mysql1/log:/var/log"
    networks:
      mynet:
        ipv4_address: 10.0.0.2

  mysql2:
    container_name: mysql2
    image: mysql:5.7
    ports:
      - "3308:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - "/data/mysql2/lib:/var/lib/mysql"
      - "/data/mysql2/mysql.conf.d:/etc/mysql/mysql.conf.d"
      - "/data/mysql2/log:/var/log"
    networks:
      mynet:
        ipv4_address: 10.0.0.3  
  
  mysql3:
    container_name: mysql3
    image: mysql:5.7
    ports:
      - "3309:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - "/data/mysql3/lib:/var/lib/mysql"
      - "/data/mysql3/mysql.conf.d:/etc/mysql/mysql.conf.d"
      - "/data/mysql3/log:/var/log"
    networks:
      mynet:
        ipv4_address: 10.0.0.4

  mysql4:
    container_name: mysql4
    image: mysql:5.7
    ports:
      - "3310:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - "/data/mysql4/lib:/var/lib/mysql"
      - "/data/mysql4/mysql.conf.d:/etc/mysql/mysql.conf.d"
      - "/data/mysql4/log:/var/log"
    networks:
      mynet:
        ipv4_address: 10.0.0.5

networks:
  mynet:
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: 10.0.0.0/24


cd /data

cp -rf mysql1  mysql3 #复制出M2

cp -rf mysql2  mysql4  #复制出S2


修改m1 、s1 、m2、 s2的配置

m1配置中新增:

#在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535
auto-increment-increment=2 
#表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535
auto-increment-offset=1

m2配置中新增:

#在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 .. 65535
auto-increment-increment=2 
#表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 .. 65535
auto-increment-offset=2


s1和s2的配置

#配置从节点
server-id=3
relay-log=mysql-relay 

#配置从节点
server-id=5
relay-log=mysql-relay 

都配置好后,启动docker-compse

cd /root/work2

docker-compose up -d 


ok, 4个mysql实例都启动成功了 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我们再用sqlyog客户端,分别连上这4个mysql实例。 


# M1(10.0.0.2) 中创建用户,并授权 
CREATE USER 'slave'@'10.0.0.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'10.0.0.%';

FLUSH PRIVILEGES;

RESET MASTER;
SHOW MASTER STATUS ;

#配置M1和M2互为主从复制 (0.2,0.4)
#M1上:
STOP SLAVE

CHANGE MASTER TO MASTER_HOST='10.0.0.4', MASTER_USER='slave',MASTER_PASSWORD='123456', 
MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;

START SLAVE
SHOW SLAVE STATUS


=========================================


#S1(10.0.0.3)中重新配置从节点
STOP SLAVE;

CHANGE MASTER TO MASTER_HOST='10.0.0.2', MASTER_USER='slave',MASTER_PASSWORD='123456', 
MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;

#启动主从复制
START SLAVE;

SHOW SLAVE STATUS;
 
============================

# M2(10.0.0.4) 中创建用户,并授权  
CREATE USER 'slave'@'10.0.0.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'10.0.0.%';

FLUSH PRIVILEGES;

RESET MASTER
SHOW MASTER STATUS ;

#配置M1和M2互为主从复制 (0.2,0.4)
#M2上:
STOP SLAVE

CHANGE MASTER TO MASTER_HOST='10.0.0.2', MASTER_USER='slave',MASTER_PASSWORD='123456', 
MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=800;

START SLAVE
SHOW SLAVE STATUS

 ======================================

#S2(10.0.0.5)中重新配置从节点
STOP SLAVE;

CHANGE MASTER TO MASTER_HOST='10.0.0.4', MASTER_USER='slave',MASTER_PASSWORD='123456', 
MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;

START  SLAVE;

SHOW SLAVE STATUS ;
 

测试一下,发现在m1做的任何修改(建库、建表、insert、update、delete等),都会同步到s1、m2、s2;

在m2做的任何修改(建库、建表、insert、update、delete等),都会同步到s2、m1、s1



关键字:  mysql  双主双从
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号