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

Docker搭建MySQL8.0主從復(fù)制(一主一從)

這篇具有很好參考價(jià)值的文章主要介紹了Docker搭建MySQL8.0主從復(fù)制(一主一從)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

0. 配置說(shuō)明

宿主機(jī)使用的版本為19045的win10專(zhuān)業(yè)版,MySQL使用的是8.0+,Docker容器使用Linux。

1. 安裝Docker Desktop

修改Docker默認(rèn)安裝路徑

安裝包自己就提供了修改安裝路徑的功能,CMD中運(yùn)行:

“Docker Desktop Installer.exe” install --installation-dir=

--installation-dir=<path>: changes the default installation location (C:\Program Files\Docker\Docker)

2. 在Docker中安裝MySQL

可以訪(fǎng)問(wèn) MySQL 鏡像庫(kù)地址:https://hub.docker.com/_/mysql?tab=tags 查看可用的其他mysql版本,默認(rèn)為最新版本mysql:latest

2.1 拉取MySQL鏡像

$ docker pull mysql:latest

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

2.2 查看本地鏡像

$ docker images

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

2.3 啟動(dòng)MySQL容器實(shí)例

$ docker run --name mysql -p 3309:3306 -e MYSQL_ROOT_PASSWORD=5508769123 -d mysql

參數(shù)說(shuō)明:

  • docker run:告訴Docker啟動(dòng)一個(gè)新的容器
  • –name mysql :指定了容器的名稱(chēng),這里是 “mysql”
  • -p 3309:3306:端口映射設(shè)置,將容器內(nèi)的MySQL數(shù)據(jù)庫(kù)端口(默認(rèn)為3306)映射到主機(jī)上的3309端口。這樣可以通過(guò)主機(jī)的3309端口訪(fǎng)問(wèn)MySQL服務(wù)器
  • -e MYSQL_ROOT_PASSWORD=5508769123:環(huán)境變量的設(shè)置,用于配置MySQL容器的根用戶(hù)(root)的密碼。這里,密碼被設(shè)置為 “5508769123”
  • -d:表示以"后臺(tái)"(detached)模式運(yùn)行容器
  • mysql:要運(yùn)行的Docker鏡像的名稱(chēng)

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

下面給出的輸出16821a8792a185997c1b5df334fa4461a157488e90d881902596e7ff3db8c42f為容器的id。

2.4 檢查安裝

$ docker ps

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

打開(kāi)Docker Desktop檢查

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

宿主機(jī)登錄Docker中的MySQL

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

3. 主從復(fù)制

3.1 設(shè)置主庫(kù)(這里為宿主機(jī)器)

  1. 修改主庫(kù)MySQL數(shù)據(jù)庫(kù)的配置文件,這里配置文件位置為:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

    添加信息為:

    [mysqld]
    log-bin=mysql-bin #必須啟用二進(jìn)制日志
    server-id=100 #必須服務(wù)器唯一ID
    

    找到[mysqld]標(biāo)簽然后添加下面兩行即可

    docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

  2. 重啟MySQL服務(wù)

    (管理員權(quán)限)

    $ net stop mysql80
    
    $ net start mysql80
    

    docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

  3. 在主庫(kù)創(chuàng)建新用戶(hù)并賦權(quán)

    登錄主庫(kù)然后執(zhí)行下面兩條指令:

    CREATE USER 'mercurows'@'%' IDENTIFIED WITH caching_sha2_password BY '5508769123';
    GRANT REPLICATION SLAVE , REPLICATION CLIENT ON *.* TO 'mercurows'@'%';
    

    **注意:**mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password。我們發(fā)現(xiàn)root的加密規(guī)則為caching_sha2_password,現(xiàn)在修改為mysql_native_password,

    ALTER USER 'mercurows'@'%' IDENTIFIED WITH 'mysql_native_password' BY '5508769123';
    

    解釋?zhuān)?/p>

    • CREATE USER:創(chuàng)建一個(gè)新用戶(hù)。

    • 'mercurows'@'%':新用戶(hù)的標(biāo)識(shí)符。'mercurows' 是用戶(hù)名,'%' 表示這個(gè)用戶(hù)可以從任何主機(jī)連接到MySQL服務(wù)器。如果想限制用戶(hù)只能從特定主機(jī)連接,可以在 '%' 的位置指定相應(yīng)的主機(jī)地址。

    • IDENTIFIED WITH caching_sha2_password BY '5508769123':用戶(hù)的身份驗(yàn)證方法和密碼。在這里用戶(hù)的身份驗(yàn)證方法被設(shè)置為 caching_sha2_password,并且密碼被設(shè)置為 '5508769123'。注意:mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password。

    • REPLICATION SLAVE, REPLICATION CLIENT:表示授予用戶(hù) ‘mercurows’ 兩種權(quán)限:REPLICATION SLAVE(用于復(fù)制從其他MySQL服務(wù)器)和 REPLICATION CLIENT(用于查詢(xún)和管理復(fù)制狀態(tài))。

    • ON *.*:表示授予權(quán)限的范圍,*.* 表示所有數(shù)據(jù)庫(kù)和所有表。

    • TO 'mercurows'@'%':這部分指定了要授予權(quán)限的用戶(hù)和其訪(fǎng)問(wèn)主機(jī)。與前一個(gè)命令相同,'mercurows'@'%' 表示 ‘mercurows’ 用戶(hù)可以從任何主機(jī)連接。

    檢查:

    flush privileges;
    SHOW GRANTS FOR 'mercurows'@'%';
    

    docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

  4. 檢查主庫(kù)狀態(tài)

    show master status;
    

    docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

并記錄FilePosition這兩個(gè)記錄,這里是DESKTOP-UPK0D57-bin.0000381353,注意:在完成設(shè)置之前都不能對(duì)主庫(kù)進(jìn)行操作以免這兩個(gè)記錄發(fā)生改變

3.2 設(shè)置從庫(kù)(這里為Docker中的MySQL)

  1. 修改從庫(kù)MySQL數(shù)據(jù)庫(kù)的配置文件,這里文件在/etc/my.cnf

    添加信息為:

    [mysqld]
    server-id=100 #必須服務(wù)器唯一ID
    

    找到[mysqld]標(biāo)簽然后添加下面一行然后保存即可

    docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

  2. 重啟MySQL服務(wù)(我這里直接重啟容器了)

  3. 登錄從庫(kù)中的MySQL然后執(zhí)行下面的語(yǔ)句:

    change master to master_host='192.168.1.172',master_port=3306,master_user='mercurows',master_password='5508769123',master_log_file='DESKTOP-UPK0D57-bin.000038',master_log_pos=1353;
    
    start slave;
    

    解釋?zhuān)?/p>

    • change master to:告訴MySQL服務(wù)器,接下來(lái)要更改主從復(fù)制的設(shè)置
    • master_host='192.168.1.172':指定主數(shù)據(jù)庫(kù)的主機(jī)名或IP地址。在這里就是我宿主電腦的IP地址
    • master_port=3306:指定主數(shù)據(jù)庫(kù)的端口號(hào)。默認(rèn)情況下,MySQL的端口號(hào)是3306
    • master_user='mercurows':指定連接到主數(shù)據(jù)庫(kù)的用戶(hù)名,這里用戶(hù)名是 mercurows。這個(gè)就是上面主數(shù)據(jù)庫(kù)中剛剛創(chuàng)建的用戶(hù)
    • master_password='5508769123':這是指定連接到主數(shù)據(jù)庫(kù)的用戶(hù)的密碼,這里密碼是 5508769123
    • master_log_file='DESKTOP-UPK0D57-bin.000038':這是指定主數(shù)據(jù)庫(kù)上用于復(fù)制的二進(jìn)制日志文件的名稱(chēng)。在主從復(fù)制中,主數(shù)據(jù)庫(kù)會(huì)將更改記錄在二進(jìn)制日志文件中,從數(shù)據(jù)庫(kù)會(huì)從這些文件中讀取并應(yīng)用這些更改。而這個(gè)日志名稱(chēng)在上面的3.1中的4.檢查主庫(kù)狀態(tài)中得出
    • master_log_pos=1353:這是指定從哪個(gè)位置開(kāi)始讀取主數(shù)據(jù)庫(kù)的二進(jìn)制日志文件。而這個(gè)位置在上面的3.1中的4.檢查主庫(kù)狀態(tài)中得出

    docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

  4. 檢查

    show slave status \G;
    

    docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

slave機(jī)器上有兩個(gè)關(guān)鍵的進(jìn)程,必須兩個(gè)都要顯示為 Y E S YES YES,一個(gè)是Slave_IO_Running:,一個(gè)是Slave_SQL_Running:一個(gè)負(fù)責(zé)與主機(jī)的io通信,一個(gè)負(fù)責(zé)自己的slave mysql進(jìn)程。

3.3 測(cè)試

初始數(shù)據(jù)庫(kù)情況:docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

mysql–主庫(kù),slave–從庫(kù)

  1. 在主庫(kù)中創(chuàng)建testdatabase數(shù)據(jù)庫(kù)然后刷新從庫(kù):

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

  1. 在主庫(kù)創(chuàng)建user表并刷新從庫(kù)

docker mysql8 主從,配置,雜項(xiàng),MySQL,docker,容器,運(yùn)維

經(jīng)測(cè)試,對(duì)主庫(kù)的增刪改均能同步到從庫(kù)中。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-822067.html

參考

  1. 如何在Windows上更改Docker的默認(rèn)安裝路徑?
  2. docker搭建mysql8主從復(fù)制(一主一從)

到了這里,關(guān)于Docker搭建MySQL8.0主從復(fù)制(一主一從)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • MySQL - 讀寫(xiě)分離、一主一從、雙主雙從

    MySQL - 讀寫(xiě)分離、一主一從、雙主雙從

    讀寫(xiě)分離 ,簡(jiǎn)單地說(shuō)是把對(duì)數(shù)據(jù)庫(kù)的讀和寫(xiě)操作分開(kāi),以對(duì)應(yīng)不同的數(shù)據(jù)庫(kù)服務(wù)器。主數(shù)據(jù)庫(kù)提供寫(xiě)操作,從數(shù)據(jù)庫(kù)提供讀操作,這樣能有效地減輕單臺(tái)數(shù)據(jù)庫(kù)的壓力。 MyCat實(shí)現(xiàn)讀寫(xiě)分離的話(huà),主要通過(guò)兩個(gè)組件來(lái)實(shí)現(xiàn): ? readHost、writeHost 讀寫(xiě)分離它的前提是基于主從復(fù)制 主

    2024年02月07日
    瀏覽(21)
  • MySQL一主一從、配置一主多從結(jié)構(gòu)、數(shù)據(jù)讀寫(xiě)分離

    部署mysql主從同步 配置mysql主從 分為主數(shù)據(jù)庫(kù)角色(master)、從數(shù)據(jù)庫(kù)服務(wù)器角色(slave) 網(wǎng)站服務(wù)器連接后存儲(chǔ)數(shù)據(jù)的服務(wù)器作為主服務(wù)器 自動(dòng)同步主服務(wù)器上的數(shù)據(jù) 192.168.88.53 做master 啟用binlog日志文件?指定server_id 重啟服務(wù) 用戶(hù)授權(quán) 查看正在使用的binlog日志文件 192.

    2024年01月19日
    瀏覽(23)
  • 使用docker進(jìn)行MYSQL主從復(fù)制(一主兩從)

    使用docker進(jìn)行MYSQL主從復(fù)制(一主兩從)

    目錄 概述主從介紹 主從作用 主從作用有: 主從形式有: ?配置步驟 主要配置 1創(chuàng)建三個(gè)進(jìn)程 2修改配置文件 3主機(jī)配置 4從機(jī)配置 5將文件修改后,復(fù)制到容器里面 6進(jìn)入主機(jī)進(jìn)行配置 6.1創(chuàng)建用戶(hù) 6.2給用戶(hù)授權(quán) 6.3刷新權(quán)限 7進(jìn)入從機(jī)進(jìn)行配置 對(duì)M1S1 對(duì)M2S2 ?8最后開(kāi)啟主從 9測(cè)

    2024年02月16日
    瀏覽(24)
  • MySQL8.xx一主兩從復(fù)制安裝與配置

    MySQL8.xx一主兩從復(fù)制安裝與配置

    docker實(shí)戰(zhàn)(一):centos7 yum安裝docker docker實(shí)戰(zhàn)(二):基礎(chǔ)命令篇 docker實(shí)戰(zhàn)(三):docker網(wǎng)絡(luò)模式(超詳細(xì)) docker實(shí)戰(zhàn)(四):docker架構(gòu)原理 docker實(shí)戰(zhàn)(五):docker鏡像及倉(cāng)庫(kù)配置 docker實(shí)戰(zhàn)(六):docker 網(wǎng)絡(luò)及數(shù)據(jù)卷設(shè)置 docker實(shí)戰(zhàn)(七):docker 性質(zhì)及版本選擇 認(rèn)知升維: 道、法、術(shù)、器、勢(shì) 多臺(tái)服務(wù)器間

    2024年02月13日
    瀏覽(24)
  • Docker 搭建MySQL主從復(fù)制-讀寫(xiě)分離

    Docker 搭建MySQL主從復(fù)制-讀寫(xiě)分離

    MySQL主從復(fù)制是一種常用的數(shù)據(jù)庫(kù)高可用性解決方案,通過(guò)在主數(shù)據(jù)庫(kù)上記錄的數(shù)據(jù)變更,同步到一個(gè)或多個(gè)從數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)的冗余備份和讀寫(xiě)分離。在Docker環(huán)境下搭建MySQL主從復(fù)制和讀寫(xiě)分離,不僅方便管理,還能充分發(fā)揮Docker的輕量、可移植性等特性。 在開(kāi)始搭建之

    2024年02月22日
    瀏覽(19)
  • docker創(chuàng)建MySQL鏡像,搭建主從復(fù)制環(huán)境

    docker創(chuàng)建MySQL鏡像,搭建主從復(fù)制環(huán)境

    學(xué)習(xí)黑馬的MySQL時(shí),在主從復(fù)制、分庫(kù)分表、讀寫(xiě)分離等階段需要多臺(tái)服務(wù)器,于是嘗試用docker創(chuàng)建鏡像搭建主從復(fù)制環(huán)境。 本文基于centos7搭建mysql鏡像。 參考大佬文章: link 編寫(xiě)mysql_file文件: 由于需要進(jìn)行編輯操作,所以需要額外下載vim 編寫(xiě)run.sh文件 build MySQL鏡像 以特權(quán)

    2024年02月07日
    瀏覽(28)
  • MYSQL8主從復(fù)制

    MYSQL8主從復(fù)制

    關(guān)鍵點(diǎn): 主庫(kù) 創(chuàng)建一個(gè) 遠(yuǎn)程用戶(hù) 并 授予復(fù)制權(quán)限 。 在 主庫(kù) 和 從庫(kù) 的 my.cnf 配置 服務(wù)器唯一id ; 開(kāi)啟 全局事務(wù)ID ; 在 my.cnf 文件中啟用 二進(jìn)制日志 記錄,并為其分配一個(gè) 唯一的服務(wù)器 ID 。 關(guān)閉 主節(jié)點(diǎn) 和 從節(jié)點(diǎn) 的mysql服務(wù)。 主服務(wù)器配置 每個(gè)數(shù)據(jù)庫(kù)實(shí)例的 服務(wù)器ID 要

    2024年02月01日
    瀏覽(38)
  • Mysql主從數(shù)據(jù)庫(kù)搭建(一主兩從)

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

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

    2024年02月11日
    瀏覽(18)
  • 基于 Docker 的 MySQL 主從復(fù)制搭建(Mac M1版本)

    基于 Docker 的 MySQL 主從復(fù)制搭建(Mac M1版本)

    系統(tǒng):Macbook M1 鏡像版本:mysql:5.7 如果是要查 slave 連接不上 master 的問(wèn)題,可以直接跳到文章末尾踩坑處 準(zhǔn)備工作 拉取鏡像 本地?cái)?shù)據(jù)卷掛載 因?yàn)閙ysql不掛載的話(huà),重啟丟失數(shù)據(jù),所以在本地創(chuàng)建三個(gè)空的文件夾 conf、data、log 即可 部署mysql_master(主) 運(yùn)行master容器 不加 -

    2024年02月10日
    瀏覽(21)
  • MySQL8.0.33主從復(fù)制配置記錄

    MySQL8.0.33主從復(fù)制配置記錄

    官網(wǎng):https://dev.mysql.com/downloads/mysql/ 在線(xiàn)下載或者下載到本地再上傳 準(zhǔn)備wget下載工具: 進(jìn)入MySQL的bin目錄 初始化并得到密碼 ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory 報(bào)錯(cuò),缺依賴(lài):::: yum install -y libaio yum -y install numactl 再初始

    2024年02月02日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包