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

docker如何配置mysql主從復(fù)制

 更新時間:2024年12月23日 08:49:56   作者:Mars'Ares  
文章介紹了如何在CentOS 7上搭建一個MySQL集群,包括創(chuàng)建Docker環(huán)境、配置文件設(shè)置、創(chuàng)建和啟動MySQL容器、設(shè)置遠程訪問以及配置主從同步

前提條件

1 具有docker環(huán)境的centos7

yum install docker
service docker start

2 mysql鏡像(版本5.5以上,本文采用8.0)

docker pull mysql:8.0

mysql集群配置文件

1 創(chuàng)建配置集結(jié)構(gòu)如下

mkdir -p /home/data/mysql/data/master
mkdir -p /home/data/mysql/data/slave
mkdir -p /home/data/mysql/master
mkdir -p /home/data/mysql/slave

2 創(chuàng)建節(jié)點配置文件(master.cnf與slave.cnf)

cd /home/data/mysql/master
vi master.cnf
cd /home/data/mysql/slave
vi slave.cnf

內(nèi)容如下

[mysqld]
server-id=1   #任意自然數(shù)n,只要保證兩臺MySQL主機不重復(fù)就可以了。
log-bin=mysql-bin   #開啟二進制日志
#auto_increment_increment=2   #步進值auto_imcrement。一般有n臺主MySQL就填n
#auto_increment_offset=1   #起始值。一般填第n臺主MySQL。此時為第一臺主MySQL
#binlog-ignore=mysql   #忽略mysql庫【我一般都不寫】
#binlog-ignore=information_schema   #忽略information_schema庫【我一般都不寫】
#replicate-do-db=aa   #要同步的數(shù)據(jù)庫,默認所有庫

搭建mysql環(huán)境

1 為mysql容器創(chuàng)建專有橋接網(wǎng)絡(luò),以便固定mysql容器ip

docker network create --driver bridge --subnet 172.25.0.0/16 mysql_net

備注:創(chuàng)建橋接網(wǎng)卡 mysql_net 指定自網(wǎng)段為172.25.0.0 如果不指定ip則與docker容器的docker0網(wǎng)卡同網(wǎng)段

2 創(chuàng)建mysql容器

(1) master

docker create 
--privileged=true                               #為容器掛載目錄添加權(quán)限
--name mysqlmaster                              #容器名為mysqlmaster
-v /home/data/mysql/data/master:/var/lib/mysql  #集群配置集中/data/master 掛載到容器/var/lib/mysql
-v /home/data/mysql/master:/etc/mysql/conf.d    #配置集中/master 中master.cnf 掛載到 /etc/mysql/conf.d中設(shè)置啟動
-e MYSQL_ROOT_PASSWORD=root                     #設(shè)置啟動密碼
--net mysql_net                                 #指定容器連接網(wǎng)絡(luò)
--ip 172.25.0.3                                 #指定容器使用ip
-p 3307:3306 mysql:8.0                          #指定主機映射到容器端口  即 主機訪問centos7 為3307   容器端口為3306

備注:上面#號后需要刪除

(2)salve

docker create 
--privileged=true 
--name mysqlslave 
-v /home/data/mysql/data/slave:/var/lib/mysql 
-v /home/data/mysql/salve:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root 
--net mysql_net 
--ip 172.25.0.2 
-p 3308:3306 mysql:8.0

備注:同上

3 啟動容器

docker start mysqlsalve
docker start mysqlmaster

查看運行狀態(tài)

docker ps -a

查看容器ip

docker network inspect mysql_net

4 容器設(shè)置遠程訪問

docker exec -it mysqlmaster /bin/bash

使用容器ip登錄 并輸入密碼

mysql -u root -p  -h 172.25.0.3

修改root帳號密碼

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

備注:同理進入另一個容器相同操作

5 使用navicat在主機(非centos7)登錄mysql容器

備注:容器ip為docker容器內(nèi)部路由使用,虛擬機ip為外部主機入口,可以通過橋接訪問到容器

啟動mysql主從

1 進入master 賦權(quán)限 以及查詢master 的日志文件 以及位置

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
GRANT REPLICATION SLAVE ON *.* to 'root'@'%' identified by 'root'; --賦權(quán)限給root用戶
flush privileges; --刷新權(quán)限
show master status; 

2 進入slave 設(shè)置slave配置以及啟動slave

change master to 
master_host='172.25.0.3',     --master的ip  不能為127.0.0.1
master_user='root',           --master的帳號密碼
master_password='root',
master_log_file='mysql-bin.000003', --master 查詢的file名  注意上面!
master_port=3306,                   --master 端口 坑!為容器端口 不是主機端口
master_log_pos=596;                 --日志文件位置  注意上面!
start slave;
show slave status;

備注:主從同步啟動標(biāo)志 若出現(xiàn)cennecting to master 則有錯誤 請自己查找

3 驗證主從

主庫創(chuàng)建任何數(shù)據(jù),從庫隨即更新!

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker Swarm集群管理的使用及原理解析

    Docker Swarm集群管理的使用及原理解析

    這篇文章主要介紹了Docker Swarm集群管理的使用及原理解析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 編寫最佳的Dockerfile的方法

    編寫最佳的Dockerfile的方法

    本文給大家分享的是如何編寫最佳的dockerfile的方法,通過具體實例幫助大家快速掌握編寫Dockerfile的技巧
    2017-06-06
  • Docker實現(xiàn)同Ip網(wǎng)段聯(lián)通的實現(xiàn)

    Docker實現(xiàn)同Ip網(wǎng)段聯(lián)通的實現(xiàn)

    這篇文章主要介紹了Docker實現(xiàn)同Ip網(wǎng)段聯(lián)通的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法

    谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法

    這篇文章主要介紹了谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法,涉及虛擬機,谷歌docker鏡像構(gòu)建實踐及構(gòu)建工具bazel的介紹等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • docker 容器添加指定網(wǎng)絡(luò)地址的方法實現(xiàn)

    docker 容器添加指定網(wǎng)絡(luò)地址的方法實現(xiàn)

    Docker容器運行的時候默認會自動分配一個默認網(wǎng)橋所在網(wǎng)段的IP地址,本文主要介紹了docker容器添加指定網(wǎng)絡(luò)地址的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • mac下關(guān)于docker的安裝和配置教程

    mac下關(guān)于docker的安裝和配置教程

    在Mac上安裝Docker的詳細步驟包括系統(tǒng)要求、下載安裝包、安裝DockerDesktop、啟動并配置、驗證安裝、運行HelloWorld容器、管理Docker和卸載Docker
    2024-11-11
  • Docker基本概念和底層原理解析

    Docker基本概念和底層原理解析

    Docker是一個Client-Server結(jié)構(gòu)的系統(tǒng),Docker守護進程運行在主機上,然后通過Socket連接從客戶端訪問,守護進程從客戶端接受命令并管理運行在主機上的容器,本文給大家介紹docker概念和底層原理,感興趣的朋友一起看看吧
    2022-03-03
  • docker內(nèi)的容器如何與宿主機共享IP的方法

    docker內(nèi)的容器如何與宿主機共享IP的方法

    本文主要介紹了docker內(nèi)的容器如何與宿主機共享IP的方法,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 通過Docker?Compose部署MySQL的詳細教程

    通過Docker?Compose部署MySQL的詳細教程

    Docker?Compose?作為?Docker?官方的容器編排工具,為?MySQL?數(shù)據(jù)庫部署帶來了顯著優(yōu)勢,下面小編就來為大家詳細介紹一下具體的流程吧
    2025-03-03
  • Alpine Docker鏡像字體的問題解決操作

    Alpine Docker鏡像字體的問題解決操作

    這篇文章主要介紹了Alpine Docker鏡像字體的問題解決操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論