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

基于docker搭建MySql主從數(shù)據(jù)庫(詳細(xì)步驟)

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

操作步驟

一、準(zhǔn)備工作

  1. 在 Linux 中建立對應(yīng)文件夾,用于存放MySql數(shù)據(jù)庫相關(guān),文件夾路徑:/usr/local/software/mysql。
  2. 在mysql文件下創(chuàng)建如下目錄結(jié)構(gòu)的文件:(3306為主數(shù)據(jù)庫文件夾,筆者這里以對端口號來命名;3310為從數(shù)據(jù)庫文件夾,3311同理,可依次往下)
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql
  3. 上傳 my.cnf 文件到 conf 文件夾下
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql
    以下是 my.cnf 文件的內(nèi)容:
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

#
# The MySQL  Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
default_authentication_plugin=mysql_native_password

# Custom config should go here
!includedir /etc/mysql/conf.d/

server_id=200

  1. 將my.cnf文件拷貝到 3310/conf3311/conf 目錄下,目錄結(jié)構(gòu)如下:
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  2. 查詢 mysql 鏡像
    對應(yīng)的docker指令: docker search mysql
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  3. 拉取 mysql 鏡像到本地
    對應(yīng)的docker指令:docker pull mysql
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  4. 檢查是否下載成功
    對應(yīng)的docker指令:docker image ls

docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  1. 在 docker 中創(chuàng)建運(yùn)行 mysql 的容器

docker run
-i:以交互模式運(yùn)行容器
-t:為容器重新分配一個偽輸入終端
—name :容器名稱
—privileged: 設(shè)置容器公開權(quán)限(默認(rèn)為true)
-p :映射端口 linux端口: 容器內(nèi)置端口(mysql默認(rèn)端口為3306)
-v : linux掛載文件夾/文件和容器內(nèi)路徑的映射
-e: 容器的環(huán)境變量(設(shè)置mysql默認(rèn)用戶名&密碼)
-d: 后臺運(yùn)行容器,并返回容器ID

docker run -it \
--name mysql_3306 \    #數(shù)據(jù)庫名稱
--privileged \
-p 3306:3306 \         #對應(yīng)端口號
-v /usr/local/software/mysql/3306/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/software/mysql/3306/data:/var/lib/mysql \
-v /usr/local/software/mysql/3306/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123 \   
-d mysql

以下是代碼運(yùn)行后的界面,出現(xiàn)一串無序字符代表創(chuàng)建成功。

docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  1. 進(jìn)入 mysql 容器
    進(jìn)入我們上一步創(chuàng)建好的 mysql 容器 ,對應(yīng)指令:docker exec -it mysql_3306 bash

docker exec
-it:以交互模式運(yùn)行容器 ,為容器重新分配一個偽輸入終端。
bash: bash(GNU Bourne-Again Shell)是最常用的一種shell(運(yùn)行在終端的互動程序)。

成功進(jìn)入容器后,前綴會變化,如圖所示:
docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  1. 在容器中運(yùn)行mysql客戶端
    完成上述步驟后,我們已經(jīng)成功在 docker 中創(chuàng)建了能夠運(yùn)行 mysql 的容器,接下來可以在 docker 中運(yùn)行 mysql 客戶端了。
    輸入對應(yīng)指令,登錄 mysql 客戶端:mysql -u用戶名 -p密碼
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql
    退出 mysql 客戶端的指令:quit
    退出容器的指令:exit
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  2. 防火墻開放端口
    這里如果不開放端口,會導(dǎo)致外部無法訪問。

開放指定端口:
對應(yīng)指令:firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd —zone=public —add-port=端口號/tcp —permanent
—zone: public 公開端口
—add-port: 端口號/協(xié)議名稱
—permanent: 永久開放

修改防火墻配置后,要重新加載防火墻:firewall-cmd --reload
查看開放的端口號的指令:firewall-cmd --zone=public --list-ports

  1. Navicat 測試連接
    第一步:打開 Navicat,新建連接。
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql
    第二步:輸入對應(yīng)信息,點擊測試連接。彈出連接成功后即可!
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql
    注意這里的主機(jī)為運(yùn)行 docker 的虛擬機(jī)的 IP。

二、搭建 MySql 主數(shù)據(jù)庫(master)

  1. 配置 my.cnf 文件,配置完畢后重啟 docker。

通過 vim my.cnf 修改 my.cnf 文件,在文件末尾加入以下程序:

server_id=200                        #服務(wù)器id
log_bin=mysql-bin                    #binlog名稱
binlog_format=row                    #binlog的格式
  1. 創(chuàng)建與從數(shù)據(jù)庫(slave)進(jìn)行服務(wù)通信的用戶
    第一步:在 Navicat 中,新建查詢。
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql
    第二步:輸入以下mysql語句,并運(yùn)行。
-- 創(chuàng)建用戶 slave --
CREATE USER 'slave'@'%' IDENTIFIED WITH mysql_native_password by '123';

-- 給用戶授權(quán) --
GRANT replication SLAVE,replication client ON *.* TO 'slave'@'%';

-- 應(yīng)用權(quán)限 --
FLUSH PRIVILEGES;

docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  1. 查詢 master 狀態(tài)
    在查詢中輸入show master status
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  2. 獲取 master IP地址
    輸入指令:docker inspect mysql_3306 |grep IPA
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

三、搭建 MySql 從數(shù)據(jù)庫(slave)

  1. 配置 mysql/3310 路徑下的 my.cnf 文件,配置完畢后重啟 docker。

通過 vim my.cnf 修改 my.cnf 文件,在文件末尾加入以下程序:

server_id=201      #每個服務(wù)器的id都是唯一的,必須進(jìn)行修改!
log_bin=mysql-slave01-bin
relay_log=wnhz-relay-bin
read_only=1        #從數(shù)據(jù)庫不需要進(jìn)行增刪改等寫入操作,所以設(shè)為只讀
  1. 創(chuàng)建運(yùn)行從數(shù)據(jù)庫(slave)的容器
docker run -it \
--name mysql_3310 \
--privileged \
-p 3310:3306 \
-v /usr/local/software/mysql/3310/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/software/mysql/3310/data:/var/lib/mysql \
-v /usr/local/software/mysql/3310/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql

這里要注意從數(shù)據(jù)庫的路徑與名稱都需要進(jìn)行修改!
以下是代碼運(yùn)行后的界面,出現(xiàn)一串無序字符代表創(chuàng)建成功。
docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  1. 開放防火墻端口
    這一步在上面已經(jīng)執(zhí)行過相似的操作,這里同上。
    打開對應(yīng)端口:firewall-cmd --zone=public --add-port=3310/tcp --permanent
    重新加載防火墻:firewall-cmd --reload

  2. Navicat 測試連接
    這一步操作也與之前相同,這里也不再過多贅述,直接上圖。
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  3. 關(guān)聯(lián)從數(shù)據(jù)庫(slave)與主數(shù)據(jù)庫(master)
    進(jìn)入從數(shù)據(jù)庫(slave)容器中,輸入對應(yīng)指令 。

change master to
master_host='172.17.0.3',
master_user='slave',
master_password='123456',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=855;

這里的 master_host 對應(yīng)之前查詢的 master 的 IP 地址。
docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  1. 開啟從數(shù)據(jù)庫(slave)
    start slave;
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  2. 查詢 slave 狀態(tài)
    show slave status \G;
    docker 構(gòu)建mysql,數(shù)據(jù)庫,docker,mysql

  3. 功能測試
    在主數(shù)據(jù)庫中建表,查看從數(shù)據(jù)庫中是否會自動生成相同的表 。文章來源地址http://www.zghlxwxcb.cn/news/detail-708148.html

到了這里,關(guān)于基于docker搭建MySql主從數(shù)據(jù)庫(詳細(xì)步驟)的文章就介紹完了。如果您還想了解更多內(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ù)器費(fèi)用

相關(guān)文章

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

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

    一般數(shù)據(jù)庫都是讀取壓力大于寫數(shù)據(jù)壓力,主從復(fù)制即為了實現(xiàn)數(shù)據(jù)庫的負(fù)載均衡和讀寫分離。通過將Mysql的某一臺主機(jī)的數(shù)據(jù)復(fù)制到其它主機(jī)(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)
  • 第90講:MySQL數(shù)據(jù)庫主從復(fù)制集群原理概念以及搭建流程

    第90講:MySQL數(shù)據(jù)庫主從復(fù)制集群原理概念以及搭建流程

    1.1.什么是主從復(fù)制集群 主從復(fù)制是指將主數(shù)據(jù)庫的 DDL 和 DML 操作通過二進(jìn)制日志傳到從庫服務(wù)器中,然后在從庫上對這些日志重新執(zhí)行(也叫重做),從而使得從庫和主庫的數(shù)據(jù)保持同步。 MySQL支持一臺主庫同時向多臺從庫進(jìn)行復(fù)制, 從庫同時也可以作為其他從服務(wù)器的主

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

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

    2024年02月08日
    瀏覽(16)
  • MySQL數(shù)據(jù)庫——主從復(fù)制

    MySQL數(shù)據(jù)庫——主從復(fù)制

    在實際的生產(chǎn)環(huán)境中,對數(shù)據(jù)庫的讀和寫都在同一個數(shù)據(jù)庫服務(wù)器中,是不能滿足實際需求的。無論是在安全性、高可用性還是高并發(fā)等各個方面都是完全不能滿足實際需求的。因此,通過主從復(fù)制的方式來同步數(shù)據(jù),再通過讀寫分離來提升數(shù)據(jù)庫的并發(fā)負(fù)載能力。有點類似

    2024年02月11日
    瀏覽(27)
  • 基于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數(shù)據(jù)庫實現(xiàn)主從同步

    MySQL數(shù)據(jù)庫實現(xiàn)主從同步

    安裝MySQL數(shù)據(jù)庫8.0.32 今天來學(xué)習(xí)數(shù)據(jù)庫主從同步的原理及過程,數(shù)據(jù)庫主要是用來存儲WEB數(shù)據(jù),在企業(yè)當(dāng)中是極為重要的,下面一起來看下。 MySQL主從復(fù)制在中小企業(yè),大型企業(yè)中廣泛使用,MySQL主從復(fù)制的目的是實現(xiàn)數(shù)據(jù)庫冗余備份,將master數(shù)據(jù)庫數(shù)據(jù)定時同步到slave數(shù)據(jù)庫

    2024年02月02日
    瀏覽(85)
  • Mysql主從搭建 基于DOCKER

    Mysql主從搭建 基于DOCKER

    主節(jié)點配置文件 從節(jié)點配置文件 部署主節(jié)點 部署從節(jié)點 主節(jié)點執(zhí)行 主節(jié)點執(zhí)行命令 該命令會返回以下信息: 名稱 說明 File 當(dāng)前正在寫入的二進(jìn)制日志文件名 Position 當(dāng)前正在寫入的二進(jìn)制日志文件的位置 Binlog_Do_DB 指定需要寫入二進(jìn)制日志的數(shù)據(jù)庫名 Binlog_Ignore_DB 指定不

    2024年02月14日
    瀏覽(26)
  • docker版postgresql數(shù)據(jù)庫主從配置

    參考:postgresql16配置主從 注意項 :當(dāng)前操作主路徑: ~/dockerEnv 【示例路徑】 創(chuàng)建 sql 文件,文件路徑 dockerEnv/dbInit/a_create_user.sql 注意: 如果在同一個宿主機(jī)操作,注意多個 yml 文件的端口映射,不要沖突! 掛載宿主機(jī) sql 文件夾到容器的 docker-entrypoint-initdb.d 路徑下,容器啟

    2024年04月14日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包