国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

這篇具有很好參考價值的文章主要介紹了Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1.背景? ? ? ??

2.設(shè)備及軟件版本

3.開始搭建(這里不介紹安裝docker及mysql)

3.1創(chuàng)建主數(shù)據(jù)庫容器(master)

3.2查看容器是否創(chuàng)建成功

3.3進(jìn)入修改容器下的/etc/my.cnf文件

3.3.1先拷貝my.cnf到容器外修改完再覆蓋容器原來的my.cnf文件

3.4重啟mysql容器使配置文件生效

3.5查看是否啟動

3.6進(jìn)入容器

3.7進(jìn)入mysql

3.8創(chuàng)建一個新的賬戶test(用來下面從數(shù)據(jù)庫訪問主數(shù)據(jù)庫)

3.9查看當(dāng)前主數(shù)據(jù)庫binglog日志狀態(tài)?

4.創(chuàng)建從數(shù)據(jù)庫(slave)(下面類似命令就不解釋了)

4.1創(chuàng)建從數(shù)據(jù)庫

4.2修改/etc/my.cof文件(參考上面主數(shù)據(jù)庫的方式修改)

4.3重新啟動從數(shù)據(jù)庫容器

4.4進(jìn)入容器

4.5進(jìn)入mysql

4.6準(zhǔn)備從數(shù)據(jù)庫連接主數(shù)據(jù)庫內(nèi)容

4.6.1獲取主數(shù)據(jù)庫容器的ip地址

4.6.2用上面參數(shù)替換下面命令中的參數(shù)

4.7開啟主從復(fù)制

4.8查看是否開啟

5.完結(jié)撒花。


1.背景? ? ? ??

????????腦子抽風(fēng)想研究一下 Docker 容器 搭建mysql集群。

2.設(shè)備及軟件版本

  1. 電腦:Mac bookPro 2021 M1 14寸,系統(tǒng):MOS?13.0.1 (22A400)
  2. Docker:Docker version 20.10.17, build 100c701
  3. mysql:mysql 5.7

3.開始搭建(這里不介紹安裝docker及mysql)

3.1創(chuàng)建主數(shù)據(jù)庫容器(master)

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)創(chuàng)建容器代碼:?

docker run -id \
--name=mysql_master \
-p 3307:3306 \
-v $PWD/master/conf:/etc/mysql/conf.d \
-v $PWD/master/logs:/logs \
-v $PWD/master/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

創(chuàng)建容器代碼介紹:

docker run -id \                        
--name=mysql_master \
-p 3307:3306 \
-v $PWD/master/conf:/etc/mysql/conf.d \
-v $PWD/master/logs:/logs \
-v $PWD/master/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

介紹:
-id : 是 -i, -d 的組合寫法(也可以寫成:-di)
? -i:保持容器運行。通常與 -t 同時使用。加入it這兩個參數(shù)后,容器創(chuàng)建后自動進(jìn)入容器中,退出容器后,容器自動關(guān)閉。 

? -t:為容器重新分配一個偽輸入終端,通常與 -i 同時使用。 

? -d:以守護(hù)(后臺)模式運行容器。創(chuàng)建一個容器在后臺運行,需要使用docker exec 進(jìn)入容器。退出后,容器不會關(guān)閉。
? --name=mysql_master:容器的別名。
? -p 3307:3306**:將容器的 3306 端口映射到宿主機的 3307 端口。
? -v $PWD/conf:/etc/mysql/conf.d**:將主機當(dāng)前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。配置目錄。
? -v $PWD/logs:/logs**:將主機當(dāng)前目錄下的 logs 目錄掛載到容器的 /logs。日志目錄。
? -v $PWD/data:/var/lib/mysql** :將主機當(dāng)前目錄下的data目錄掛載到容器的 /var/lib/mysql 。數(shù)據(jù)目錄。
? -e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用戶的密碼。
? 上面提到的“$PWD”是獲取當(dāng)前目錄下路徑

3.2查看容器是否創(chuàng)建成功

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

查看docker當(dāng)前運行容器代碼

docker ps

3.3進(jìn)入修改容器下的/etc/my.cnf文件

3.3.1先拷貝my.cnf到容器外修改完再覆蓋容器原來的my.cnf文件

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

?Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

?拷貝命令:

docker cp 0a70ced7b5e1:/etc/my.cnf /Users/hicheer/

注意事項:命令中的“0a70ced7b5e1”改為自己的容器id,“/Users/hicheer/”改為自己要拷貝的位置

原文件內(nèi)容:

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

修改后文件內(nèi)容:

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

添加的代碼:

log-bin=mysql-bin
server-id=1

注意事項:

  1. 一定要添加到 [mysqld] 下面?
  2. server-id=1(一定要唯一,如果有其他mysql容器配置了server-id=1,修改server-id為其他值)

將修改后的文件覆蓋回去:

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

命令:

docker cp /Users/hicheer/my.cnf 0a70ced7b5e1:/etc/

?注意事項:

  1. 這次是拷貝回去文件,記得把位置顛倒一下

3.4重啟mysql容器使配置文件生效

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

停止命名:

docker stop 0a70ced7b5e1

注意事項:命令中的“0a70ced7b5e1”改為自己的容器id

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

?啟動命令:

docker start 0a70ced7b5e1

3.5查看是否啟動

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

3.6進(jìn)入容器

?Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

進(jìn)入容器命令:

docker exec -it 0a70ced7b5e1 /bin/bash

?注意事項:代碼中間的“0a70ced7b5e1”改為自己的容器id

3.7進(jìn)入mysql

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

進(jìn)入mysql命令

mysql -uroot -p123456

注意:命令中"-u"后面的是賬戶,“-p”后面的是密碼

3.8創(chuàng)建一個新的賬戶test(用來下面從數(shù)據(jù)庫訪問主數(shù)據(jù)庫)

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

創(chuàng)建賬戶命令:

grant replication slave on *.* to 'test'@'%' identified by '123456'; flush privileges;

創(chuàng)建的賬戶信息:

賬戶:test,密碼:123456

3.9查看當(dāng)前主數(shù)據(jù)庫binglog日志狀態(tài)?

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

查看命令:

show master status;

?注意事項:

  1. 這里主要看看兩個參數(shù):“File” 與 “Position” 記住并復(fù)制到記事本上,等下要用。
  2. 其他參數(shù)有沒有值都無所謂

4.創(chuàng)建從數(shù)據(jù)庫(slave)(下面類似命令就不解釋了)

4.1創(chuàng)建從數(shù)據(jù)庫

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

創(chuàng)建命令:

docker run -id \
--name=mysql_slave \
-p 3308:3306 \
-v $PWD/slave/conf:/etc/mysql/conf.d \
-v $PWD/slave/logs:/logs \
-v $PWD/slave/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

?查看是否創(chuàng)建成功:

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

4.2修改/etc/my.cof文件(參考上面主數(shù)據(jù)庫的方式修改)

修改后的內(nèi)容:

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

?添加的代碼:

log-bin=mysql-bin
server-id=2

4.3重新啟動從數(shù)據(jù)庫容器

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

命令:

docker stop ba369b71c60f; docker start ba369b71c60f;

4.4進(jìn)入容器

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

?進(jìn)入命令:

docker exec -it ba369b71c60f /bin/bash

4.5進(jìn)入mysql

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

4.6準(zhǔn)備從數(shù)據(jù)庫連接主數(shù)據(jù)庫內(nèi)容

  1. 獲取主數(shù)據(jù)庫容器的ip地址,端口號(主意??:這里的端口好是默認(rèn)的3306,并不是主數(shù)據(jù)庫的3307)
  2. 剛才保存的兩個參數(shù):“File” 與 “Position”
  3. 剛才創(chuàng)建的賬戶:test,密碼:123456

4.6.1獲取主數(shù)據(jù)庫容器的ip地址

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

獲取端口命令:

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

4.6.2用上面參數(shù)替換下面命令中的參數(shù)

change master to master_host='你的IP', master_user='test賬戶名', master_password='test賬戶密碼', master_port=默認(rèn)端口號, master_log_file='你保存的File參數(shù)值', master_log_pos=你保存的Position參數(shù)值, master_connect_retry=30;

連接主數(shù)據(jù)實例:

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

4.7開啟主從復(fù)制

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

命令:

start slave;

?注意我這邊啟動報錯了!??!

先停掉主從復(fù)制,命令:

stop slave;

重新設(shè)置開啟主從復(fù)制,命令:

reset slave;

開啟主從復(fù)制,命令:

start slave;

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

4.8查看是否開啟

命令:

show slave status\G

Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)

?注意:只要這兩個參數(shù)不是YES(有些是TRUE),都是有問題的

5.完結(jié)撒花。

下面有mysql工具試一下吧,無論是寫命令,還是直接在表里面添加數(shù)據(jù)都是可以同步的。文章來源地址http://www.zghlxwxcb.cn/news/detail-478091.html

到了這里,關(guān)于Docker 容器搭建mysql 集群(主從數(shù)據(jù)庫)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Mysql主從數(shù)據(jù)庫搭建(一主兩從)

    Mysql主從數(shù)據(jù)庫搭建(一主兩從)

    目錄 1、服務(wù)器規(guī)劃 2、主從同步流程 3、主從搭建 3.1、master節(jié)點上配置文件修改 3.2、master節(jié)點創(chuàng)建同步用戶和權(quán)限 3.3、slave1和slave2節(jié)點配置文件修改 3.4、slave1和slave2節(jié)點執(zhí)行同步任務(wù) 3.5、解決虛擬機克隆導(dǎo)致mysql所有服務(wù)器uuid都一樣的問題 4、bin-log相關(guān)說明 5、主從同步注

    2024年02月11日
    瀏覽(18)
  • Mysql數(shù)據(jù)庫--實現(xiàn)主從復(fù)制搭建與同步

    Mysql數(shù)據(jù)庫--實現(xiàn)主從復(fù)制搭建與同步

    一般數(shù)據(jù)庫都是讀取壓力大于寫數(shù)據(jù)壓力,主從復(fù)制即為了實現(xiàn)數(shù)據(jù)庫的負(fù)載均衡和讀寫分離。通過將Mysql的某一臺主機的數(shù)據(jù)復(fù)制到其它主機(slaves)上,主服務(wù)器只負(fù)責(zé)寫,而從服務(wù)器只負(fù)責(zé)讀。 如生產(chǎn)環(huán)境中,使用redis數(shù)據(jù)庫作為緩存數(shù)據(jù)庫,用戶訪問業(yè)務(wù)數(shù)據(jù)時,先

    2024年02月08日
    瀏覽(95)
  • 實現(xiàn)?Mysql數(shù)據(jù)庫主從復(fù)制搭建與同步

    實現(xiàn)?Mysql數(shù)據(jù)庫主從復(fù)制搭建與同步

    一般數(shù)據(jù)庫都是讀取壓力大于寫數(shù)據(jù)壓力,主從復(fù)制即為了實現(xiàn)數(shù)據(jù)庫的負(fù)載均衡和讀寫分離。通過將Mysql的某一臺主機的數(shù)據(jù)復(fù)制到其它主機(slaves)上,主服務(wù)器只負(fù)責(zé)寫,而從服務(wù)器只負(fù)責(zé)讀。 如生產(chǎn)環(huán)境中,使用redis數(shù)據(jù)庫作為緩存數(shù)據(jù)庫,用戶訪問業(yè)務(wù)數(shù)據(jù)時,先

    2024年02月10日
    瀏覽(93)
  • Mysql數(shù)據(jù)庫搭建互為主從mysqlB的配置文件

    [client] port=3306 socket=/var/lib/mysql/mysql.sock [mysqld] port=3306 socket=/var/lib/mysql/mysql.sock datadir=/var/lib/mysql pid-file=/var/lib/mysql/mysql.pid log-error=/var/log/mysql.err server-id=2 #偶數(shù)ID auto_increment_offset=2 auto_increment_increment=2 #打開二進(jìn)制功能,MASTER主服務(wù)器必須打開此項 log-bin=mysql-bin binlog-format=MIXED

    2024年02月15日
    瀏覽(23)
  • MySQL8.0+數(shù)據(jù)庫GTID主從模式搭建

    參見: MySQL數(shù)據(jù)庫8.0+版本部署安裝-CSDN博客 部署環(huán)境[例]: 主庫:192.168.179.153:3306 從庫:192.168.179.154:3306 主從庫開啟GTID模式 // 主從庫均修改,修改從庫配置文件,在[mysqld]下添加如下配置 $ vim /etc/my.cnf gtid_mode = on enforce_gtid_consistency = on 需檢查server-id配置,為主從架構(gòu)中的所有

    2024年02月04日
    瀏覽(30)
  • 使用Docker構(gòu)建的MySQL主從架構(gòu):高可用性數(shù)據(jù)庫解決方案

    MySQL主從架構(gòu),我們已經(jīng)在vmware虛擬機上實踐過了,接下來我們一起探討在docker中如何使用MySQL主從架構(gòu)。 ??個人主頁:我是沐風(fēng)曉月 ??個人簡介:大家好,我是沐風(fēng)曉月,阿里云社區(qū)博客專家???? ?? 座右銘: 先努力成長自己,再幫助更多的人 ,一起加油進(jìn)步??????

    2024年02月08日
    瀏覽(16)
  • 基于docker容器部署MySQL數(shù)據(jù)庫

    基于docker容器部署MySQL數(shù)據(jù)庫

    一,概要.... 2 二,環(huán)境準(zhǔn)備.... 3 2.1,docker部署.... 3 三,使用docker部署mysql 6 3.1、創(chuàng)建數(shù)據(jù)存放目錄.... 6 3.2、創(chuàng)建bridge網(wǎng)絡(luò)并指定IP區(qū)間.... 6 3.3、Docker安裝MySQL. 6 3.4、自定義配置.... 7 四,MySQL簡單的配置.... 9 4.1、在容器 mysql 中開啟一個交互模式的終端.... 9 4.2、mysql登錄....

    2024年02月04日
    瀏覽(17)
  • Mysql Docker 容器重啟后數(shù)據(jù)庫數(shù)據(jù)丟失分析

    項目復(fù)用nacos的mysql數(shù)據(jù)庫且msyql容器已存在,之前已新建好數(shù)據(jù)庫并插入數(shù)據(jù)。本次需要更新數(shù)據(jù)庫表結(jié)構(gòu)和數(shù)據(jù)。重啟myql導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)丟失。 另外,本次事故是昨天發(fā)生未及時記錄,日志不夠詳細(xì)。 本次需要更新數(shù)據(jù)庫表結(jié)構(gòu)和數(shù)據(jù),通過dbviewer操作失敗報 異常,部分

    2024年02月01日
    瀏覽(22)
  • Docker容器MySQL數(shù)據(jù)庫的備份與還原,以及每天定時自動備份.

    Docker容器MySQL數(shù)據(jù)庫的備份與還原,以及每天定時自動備份.

    根據(jù)自己需要,我這個是Debian的5.7版本的鏡像。 這個地方一定要注意: 有些版本的docker鏡像里面移除了MySQL自帶的工具。包括Mysqlbinlog,Mysqlcheck等。所以即使你開啟了binlog,也是沒有辦法還原數(shù)據(jù)的,這里要注意一下鏡像的選擇。 mkdir三個文件夾,方便持久化。 /home/mysql/c

    2024年02月05日
    瀏覽(23)
  • 數(shù)據(jù)庫應(yīng)用:Redis主從復(fù)制、哨兵、cluster集群

    數(shù)據(jù)庫應(yīng)用:Redis主從復(fù)制、哨兵、cluster集群

    目錄 一、理論 1.Redis高可用 2.Redis主從復(fù)制 3.部署Redis主從復(fù)制 4.Redis哨兵模式 5.部署Redis哨兵模式 6.Redis集群模式 7.部署Redis集群 二、實驗 1.部署Redis主從復(fù)制 2.部署Redis哨兵模式 3.部署Redis集群 三、問題 1.開啟Redis群集失敗 四、總結(jié) (1)概念 在web服務(wù)器中,高可用是指服務(wù)

    2024年02月15日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包