docker-compose創建MySQL主從複製模式(一)

1. 事先聲明

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

2. 環境配置

mysql:5.7.29

IP 系統 CPU/內存 磁盤
192.168.10.50 centos7 1核2G 20G

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(讀數據庫)

我就知道你還想要深入學習,點擊我閱讀下一篇😄

發佈了179 篇原創文章 · 獲贊 22 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章