docker-compose创建MySQL主从复制模式(一)

1. 事先声明

按照下面的步骤,相信一定能成功,我已经部署了五次了,如果不行,👊我啊,🌹

2. 环境配置

mysql:5.7.29

IP系统CPU/内存磁盘
192.168.10.50centos71核2G20G

3. 创建docker网络

docker network create mysql_network

4. 创建master(写数据库)

4.1 创建data和conf配置文件

# 创建文件夹
mkdir -p /usr/local/docker/mysql/master01
cd /usr/local/docker/mysql/master01
# 创建MySQL需要的持久卷
mkdir data 
# 创建MYSQL的配置文件
mkdir conf
vim conf/mysql.cnf
### 输入下列内容
[mysqld]
# 同一个主从模式下,id不能相同
server-id = 1
# 设置同步的文件名
log-bin=mysql-bin
# 防止出现1055异常
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"

4.2 创建docker-compose.yml

version: '3'
services:
  master01:
    restart: always
    image: mysql:5.7.29
    container_name: master01
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - ./data:/var/lib/mysql
      - ./conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf

networks:
  default:
    external:
      name: mysql_network

4.3 启动主库

docker-compose up -d

5. 创建主库同步用户

5.1 连接数据库

在这里插入图片描述

5.2 创建主库同步用户

# 创建用户uncle和密码123456
create user 'uncle'@'%' identified by '123456';
# 授权
grant replication slave on *.* to 'uncle'@'%';
# 刷新一下权限
flush privileges;
# 查看master节点状态
show master status;
# 查看二进制日志相关的配置项
show global variables like 'binlog%';
# 查看server相关的配置项是否生效
show global variables like 'server%';

6. 相关的图例

6.1master节点状态show master status

在这里插入图片描述

6.2 二进制日志相关配置show global variables like 'binlog%'

在这里插入图片描述

6.3 配置文件生效show global variables like 'server%'

在这里插入图片描述

7. 部署slave(读数据库)

我就知道你还想要深入学习,点击我阅读下一篇😄

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值