欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker搭建MySQL雙主復(fù)制詳細(xì)教程

 更新時(shí)間:2024年07月04日 09:32:11   作者:Roc-xb  
Docker MySQL 雙主復(fù)制是一種數(shù)據(jù)庫(kù)高可用和數(shù)據(jù)冗余的技術(shù),它利用 Docker 容器化的優(yōu)勢(shì),在兩個(gè)或多臺(tái)MySQL服務(wù)器上同時(shí)運(yùn)行并維護(hù)數(shù)據(jù)庫(kù)副本,這兩個(gè)主服務(wù)器可以互相同步數(shù)據(jù)更新,本文給大家介紹了Docker搭建MySQL雙主復(fù)制詳細(xì)教程,需要的朋友可以參考下

在此之前需要提前安裝好Docker和 Docker Compose 。

一、創(chuàng)建目錄

首先創(chuàng)建一個(gè)本地?cái)?shù)據(jù)掛載目錄。

mkdir -p master1-data master2-data

二、編寫docker-compose.yml

version: '3.7'

services:
  mysql-master1:
    image: mysql:5.7.36
    container_name: mysql-master1
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: mydb
    volumes:
      - ./master1-data:/var/lib/mysql
    ports:
      - "3306:3306"
    command: --server-id=1 --log-bin=mysql-bin --gtid-mode=ON --enforce-gtid-consistency=ON

  mysql-master2:
    image: mysql:5.7.36
    container_name: mysql-master2
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: mydb
    volumes:
      - ./master2-data:/var/lib/mysql
    ports:
      - "3307:3306"
    command: --server-id=2 --log-bin=mysql-bin --gtid-mode=ON --enforce-gtid-consistency=ON

volumes:
  master1-data:
  master2-data:

三、拉取鏡像

我是使用的mysql5.7.36版本的,如果不同,需要自行修改

docker pull mysql:5.7.36

四、啟動(dòng) Docker Compose

docker-compose up -d

五、初始化雙主復(fù)制

1、在第一個(gè)主數(shù)據(jù)庫(kù)上配置復(fù)制用戶

進(jìn)入 mysql-master1 容器

docker exec -it mysql-master1 bash

登錄 MySQL

mysql -u root -p

執(zhí)行以下 SQL 命令

CREATE USER 'replica'@'%' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
FLUSH PRIVILEGES;

SHOW MASTER STATUS;

記下 File 和 Position 的值。

2、在第二個(gè)主數(shù)據(jù)庫(kù)上配置復(fù)制用戶

進(jìn)入 mysql-master2 容器

docker exec -it mysql-master2 bash

登錄 MySQL

mysql -u root -p

執(zhí)行以下 SQL 命令

CREATE USER 'replica'@'%' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
FLUSH PRIVILEGES;

SHOW MASTER STATUS;

記下 File 和 Position 的值。

3、在第一個(gè)主數(shù)據(jù)庫(kù)上配置從第二個(gè)主數(shù)據(jù)庫(kù)同步

進(jìn)入 mysql-master1 容器

docker exec -it mysql-master1 bash

登錄 MySQL

mysql -u root -p

執(zhí)行以下 SQL 命令

CHANGE MASTER TO
  MASTER_HOST='mysql-master2',
  MASTER_USER='replica',
  MASTER_PASSWORD='replica_password',
  MASTER_LOG_FILE='mysql-bin.000001', -- 使用第二個(gè)主數(shù)據(jù)庫(kù)的File值
  MASTER_LOG_POS=154; -- 使用第二個(gè)主數(shù)據(jù)庫(kù)的Position值

START SLAVE;

4、在第二個(gè)主數(shù)據(jù)庫(kù)上配置從第一個(gè)主數(shù)據(jù)庫(kù)同步:

進(jìn)入 mysql-master2 容器

docker exec -it mysql-master2 bash

登錄 MySQL:

mysql -u root -p

執(zhí)行以下 SQL 命令

CHANGE MASTER TO
  MASTER_HOST='mysql-master1',
  MASTER_USER='replica',
  MASTER_PASSWORD='replica_password',
  MASTER_LOG_FILE='mysql-bin.000001', -- 使用第一個(gè)主數(shù)據(jù)庫(kù)的File值
  MASTER_LOG_POS=154; -- 使用第一個(gè)主數(shù)據(jù)庫(kù)的Position值

START SLAVE;

六、驗(yàn)證主從復(fù)制

到這里,L雙主復(fù)制就配置完成了,你可以嘗試在一個(gè)主數(shù)據(jù)庫(kù)上插入數(shù)據(jù),并在另一個(gè)主數(shù)據(jù)庫(kù)上檢查數(shù)據(jù),確定雙主復(fù)制配置成功。正確的結(jié)果是,在一個(gè)數(shù)據(jù)庫(kù)進(jìn)行了新增、刪除、修改等操作后的結(jié)果,在第二個(gè)數(shù)據(jù)庫(kù)中會(huì)進(jìn)行同步。

到此這篇關(guān)于Docker搭建MySQL雙主復(fù)制詳細(xì)教程的文章就介紹到這了,更多相關(guān)Docker MySQL雙主復(fù)制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker Dockerfile的使用實(shí)例

    Docker Dockerfile的使用實(shí)例

    這篇文章主要介紹了Docker Dockerfile的使用實(shí)例的相關(guān)資料,非常不錯(cuò)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • 使用Docker配置redis sentinel哨兵的方法步驟

    使用Docker配置redis sentinel哨兵的方法步驟

    本文主要介紹了Docker配置redis sentinel哨兵的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • docker 手動(dòng)構(gòu)建新鏡像的方法

    docker 手動(dòng)構(gòu)建新鏡像的方法

    這篇文章主要介紹了docker 手動(dòng)構(gòu)建新鏡像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Docker部署mysql一主一從的操作方法

    Docker部署mysql一主一從的操作方法

    這篇文章主要介紹了Docker部署mysql一主一從,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹

    Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹

    這篇文章主要介紹了Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Docket Desktop安裝redis并設(shè)置密碼方式

    Docket Desktop安裝redis并設(shè)置密碼方式

    在DockerDesktop中安裝Redis并設(shè)置密碼的步驟包括啟動(dòng)Docker、拉取Redis鏡像、創(chuàng)建并運(yùn)行Redis容器設(shè)置密碼、驗(yàn)證容器運(yùn)行、連接并驗(yàn)證密碼,以及可選的持久化數(shù)據(jù)設(shè)置
    2025-03-03
  • Docker制作鏡像的完整過(guò)程

    Docker制作鏡像的完整過(guò)程

    本文主要介紹了Docker制作鏡像的完整過(guò)程,以制作CentOS鏡像為例,講述對(duì)鏡像自定義,打包以及推送的遠(yuǎn)程倉(cāng)庫(kù)的過(guò)程,感興趣的可以了解一下
    2021-11-11
  • 關(guān)于docker安全之Docker-TLS加密通訊問(wèn)題

    關(guān)于docker安全之Docker-TLS加密通訊問(wèn)題

    這篇文章主要介紹了docker安全之Docker-TLS加密通訊,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 如何利用Docker部署一個(gè)簡(jiǎn)單的springboot項(xiàng)目

    如何利用Docker部署一個(gè)簡(jiǎn)單的springboot項(xiàng)目

    這篇文章主要介紹了如何利用Docker部署一個(gè)簡(jiǎn)單的springboot項(xiàng)目,本文通過(guò)實(shí)例圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 基于Docker+Selenium Grid的測(cè)試技術(shù)應(yīng)用示例代碼

    基于Docker+Selenium Grid的測(cè)試技術(shù)應(yīng)用示例代碼

    Selenium Grid允許我們?cè)诙嗯_(tái)計(jì)算機(jī)上并行運(yùn)行測(cè)試,并集中管理不同的瀏覽器版本和瀏覽器配置。這篇文章給大家介紹基于Docker+Selenium Grid的測(cè)試技術(shù)應(yīng)用示例代碼,需要的朋友參考下吧
    2021-08-08

最新評(píng)論