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

Docker部署MySQL主從復制的實現(xiàn)

 更新時間:2023年10月18日 15:18:48   作者:山海一念  
本文主要介紹了Docker部署MySQL主從復制的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

平臺說明

  • 操作系統(tǒng):Windows 11
  • Docker:20.10.22
  • MySQL:8.0.32

一、Docker創(chuàng)建網(wǎng)絡

說明:方便后續(xù)MySQL主從連接

1. 創(chuàng)建網(wǎng)絡

docker network create net-mysql

2. 查看網(wǎng)絡

二、創(chuàng)建MySQL主從容器

1.拉取鏡像

docker pull mysql

2.查看鏡像

docker images

3.創(chuàng)建啟動容器

創(chuàng)建MySQL主機

docker run -d -p 3310:3306 -v D:/ProgramData/docker_config/mysql/master/config:/etc/mysql/conf.d -v D:/ProgramData/docker_config/mysql/master/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 --network net-mysql --name mysql-master mysql:latest

創(chuàng)建MySQL從機

docker run -d -p 3311:3306 -v D:/ProgramData/docker_config/mysql/slave-1/config:/etc/mysql/conf.d -v D:/ProgramData/docker_config/mysql/slave-1/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 --network net-mysql --name mysql-slave-1 mysql:latest

查看容器是否啟動成功

docker ps

三、主從配置

1.主機配置文件

在D:\ProgramData\docker_config\mysql\master\config文件夾下創(chuàng)建my.cnf

[mysqld]
#主服務器唯一ID
server-id=1
#啟用二進制日志
log-bin=mysql-bin
#設置不要復制的數(shù)據(jù)庫(可設置多個)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#設置需要復制的數(shù)據(jù)庫 需要復制的主數(shù)據(jù)庫名字
binlog-do-db=db_test
#設置logbin格式
binlog_format=STATEMENT

2.從機配置文件

在D:\ProgramData\docker_config\mysql\slave-1\config文件夾下創(chuàng)建my.cnf

[mysqld]
#從服務器唯一ID
server-id=2
#啟用中繼日志
relay-log=mysql-relay

3.注意事項

編寫結束后,進行對應的容器中查看,以主機為例

進入主機的bash

docker exec -it mysql-master bash

進入啟動容器時文件掛載的目錄

cd /etc/mysql/conf.d

當前目錄下應該是my.cnf.txt文件,需要修改文件名稱,并將my.cnf內(nèi)容復制到/etc/mysq目錄下的my.cnf文件中,才能生效

# 查看當前目錄下的文件
ls

# 修改文件名
mv my.cnf.txt my.cnf

# 復制到/etc/mysql目錄下
cp my.cnf /etc/mysql/my.cnf

4.重啟容器

docker restart mysql-master mysql-slave-1

5.連接主從數(shù)據(jù)庫 主機配置

進入主機的bash

docker exec -it mysql-master bash

在bash中連接mysql

mysql -uroot -p

創(chuàng)建用戶并授權

GRANT REPLICATION SLAVE ON *.* TO 'dev'@'%' IDENTIFIED BY '123456';

查看master狀態(tài)

show master status;

停在這里,不要在主機上執(zhí)行其他命令

從機配置

進入從機的bash

docker exec -it mysql-slave-1 bash

連接mysql

mysql -uroot -p123456

在從機的mysql中執(zhí)行一下命令

CHANGE MASTER TO MASTER_HOST='172.19.0.2',
MASTER_USER='dev',
MASTER_PASSWORD='123456',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=1325;

補充說明

獲取主機的IP地址

docker network inspect net-mysql

MASTER_PORT是3306,不是映射到宿主機的端口,千萬別搞錯了

MASTER_LOG_FILE和MASTER_LOG_pOS的值對應著主機最后一步操作的值

啟動從機復制

在mysql中執(zhí)行

start slave;

查看從機狀態(tài)

show slave status\G;

Slave_IO_Running和Slave_SQL_Running顯示為Yes即為成功

四、測試主從復制

MySQL主庫中執(zhí)行

create database db_test;
use db_test;
CREATE TABLE user ( id int UNSIGNED NOT NULL AUTO_INCREMENT, name varchar(20) NOT NULL, age int NOT NULL, PRIMARY KEY (id) );
insert into user(name, age) values('Jack', 20);

MySQL從庫中查詢

show databases;

use db_test;
show tables;

select * from user;

到此這篇關于Docker部署MySQL主從復制的實現(xiàn)的文章就介紹到這了,更多相關Docker部署MySQL主從復制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker服務器存儲資源池不足的問題解決

    Docker服務器存儲資源池不足的問題解決

    這篇文章主要給大家介紹了關于Docker服務器存儲資源池不足的問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 詳解Docker+Jenkins+Gitlab+Django應用部署實踐

    詳解Docker+Jenkins+Gitlab+Django應用部署實踐

    這篇文章主要介紹了Docker+Jenkins+Gitlab+Django應用部署實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Dockerfile的CMD與ENTRYPOINT的區(qū)別

    Dockerfile的CMD與ENTRYPOINT的區(qū)別

    CMD和ENTRYPOINT的區(qū)別在于CMD提供默認的執(zhí)行指令,而ENTRYPOINT定義容器啟動時運行的命令,下面就來詳細的介紹一下這兩者的區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • docker?部署?gitlab-ce?16.9.1的詳細過程

    docker?部署?gitlab-ce?16.9.1的詳細過程

    Docker是一個開源的應用容器引擎,它允許開發(fā)者將應用及其依賴打包到一個可移植的容器中,然后發(fā)布到任何支持Docker的Linux或Windows操作系統(tǒng)上,這篇文章主要介紹了docker?部署gitlab-ce?16.9.1的詳細過程,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-04-04
  • Docker打包自定義鏡像的實現(xiàn)

    Docker打包自定義鏡像的實現(xiàn)

    本文主要介紹了在Docker中打包自定義鏡像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    這篇文章主要介紹了MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • centos6使用docker部署zookeeper操作示例

    centos6使用docker部署zookeeper操作示例

    這篇文章主要介紹了centos6使用docker部署zookeeper操作,結合實例形式分析了centos6平臺使用docker部署zookeeper相關命令與使用技巧,需要的朋友可以參考下
    2020-02-02
  • Docker容器進行健康檢查的三種方式

    Docker容器進行健康檢查的三種方式

    這篇文章主要介紹了如何對Docker容器進行健康檢查,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Docker鏡像構建的兩種方法解析

    Docker鏡像構建的兩種方法解析

    這篇文章主要為大家詳細介紹了Docker鏡像構建的兩種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • docker常用命令總結之安裝、鏡像、容器基本操作

    docker常用命令總結之安裝、鏡像、容器基本操作

    這篇文章主要介紹了docker常用命令總結之安裝、鏡像、容器基本操作,需要的朋友可以參考下
    2017-05-05

最新評論