最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署MySQL8集群(一主二從)的實(shí)現(xiàn)步驟

 更新時(shí)間:2021年07月29日 14:48:31   作者:張紅塵  
本文主要介紹了Docker部署MySQL8集群,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一.CentOS7.9安裝Docker20

1.安裝yum-utils工具

yum install -y yum-utils

2.設(shè)置docker的依賴源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

注釋:CentOS直接使用yum命令安裝的Docker版本為1.13.1屬于舊版docker的最后一個(gè)版本,所以需要配置一個(gè)repo,才能安裝新版的Docker-CE(社區(qū)版)。Docker-EE(企業(yè)版)需收費(fèi)讀者自行了解即可,這里使用CE社區(qū)版

3.安裝docker

yum -y install docker-ce

4.查看安裝的版本

docker -v
docker version

image.png

5. 查看配套設(shè)置的版本

yum list installed | grep docker

image.png

6.拉取MySQL8鏡像

docker pull mysql:8

注解:mysql:5.7代表mysql版本為5.7

查看docker鏡像

docker images

image.png

二.部署MySQL集群(一主二從)

1.創(chuàng)建主從MySQL的配置及數(shù)據(jù)文件的存儲(chǔ)目錄

# 創(chuàng)建主服務(wù)的配置目錄和數(shù)據(jù)目錄
mkdir -p /usr/local/mysqlData/master/cnf
mkdir -p /usr/local/mysqlData/master/data

# 創(chuàng)建1號(hào)從服務(wù)器的配置目錄和數(shù)據(jù)目錄
mkdir -p /usr/local/mysqlData/slave/cnf
mkdir -p /usr/local/mysqlData/slave/data

# 創(chuàng)建2號(hào)從服務(wù)器的配置目錄和數(shù)據(jù)目錄
mkdir -p /usr/local/mysqlData/slave2/cnf
mkdir -p /usr/local/mysqlData/slave2/data

創(chuàng)建兩個(gè)從服務(wù)器的配置是因?yàn)镸ySQL配置的server-id不能重復(fù)

image.png

2.配置主服務(wù)器的配置文件

vim /usr/local/mysqlData/master/cnf/mysql.cnf

配置文件如下

[mysqld]
## 設(shè)置server_id,注意要唯一
server-id=1
## 開(kāi)啟binlog
log-bin=mysql-bin
## binlog緩存
binlog_cache_size=1M
## binlog格式(mixed、statement、row,默認(rèn)格式是statement)
binlog_format=mixed
##設(shè)置字符編碼為utf8mb4
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4

3.配置從服務(wù)器的配置文件

# 1號(hào)從服務(wù)器
vim /usr/local/mysqlData/slave/cnf/mysql.cnf
# 2號(hào)從服務(wù)器
vim /usr/local/mysqlData/slave2/cnf/mysql.cnf

配置文件如下(1號(hào)的server-id設(shè)置為2,2號(hào)的server-id設(shè)置為3,不重復(fù)即可)

[mysqld]
## 設(shè)置server_id,注意要唯一
server-id=2
## 開(kāi)啟binlog
log-bin=mysql-slave-bin
## relay_log配置中繼日志
relay_log=edu-mysql-relay-bin
## 如果需要同步函數(shù)或者存儲(chǔ)過(guò)程
log_bin_trust_function_creators=true
## binlog緩存
binlog_cache_size=1M
## binlog格式(mixed、statement、row,默認(rèn)格式是statement)
binlog_format=mixed
##設(shè)置字符編碼為utf8mb4
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
slave_skip_errors=1062
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4

4.創(chuàng)建主從MySQL鏡像

# 主服務(wù)器實(shí)例化
docker run -itd -p 3307:3306 --name master -v /usr/local/mysqlData/master/cnf:/etc/mysql/conf.d -v /usr/local/mysqlData/master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8 

# 1號(hào)從服務(wù)器實(shí)例化
docker run -itd -p 3308:3306 --name slaver -v /usr/local/mysqlData/slave/cnf:/etc/mysql/conf.d -v /usr/local/mysqlData/slave/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8 

# 2號(hào)從服務(wù)器實(shí)例化
docker run -itd -p 3309:3306 --name slaver2 -v /usr/local/mysqlData/slave2/cnf:/etc/mysql/conf.d -v /usr/local/mysqlData/slave2/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8

參數(shù)解釋

-p 指定容器暴露的端口,宿主機(jī)(物理機(jī))端口: docker實(shí)例端口
-p 3307:3306 把物理機(jī)的3307端口給實(shí)例的端口3306端口進(jìn)行映射

-v 給容器掛載存儲(chǔ)卷,掛載到容器的某個(gè)目錄
-v /usr/local/mysqlData/master/cnf:/etc/mysql/conf.d 把剛創(chuàng)建的配置文件夾映射成實(shí)例的/etc/mysql/conf.d
-v /usr/local/mysqlData/master/data:/var/lib/mysql 數(shù)據(jù)文件夾的映射

-e 指定環(huán)境變量,容器中可以使用該環(huán)境變量
-e MYSQL_ROOT_PASSWORD=123456 設(shè)置MySQL的root賬號(hào)密碼為123456

5.查看已創(chuàng)建的實(shí)例

docker ps -a

image.png

6.創(chuàng)建mysql連接用戶

# 創(chuàng)建用戶 reader設(shè)置密碼為reader
CREATE USER reader IDENTIFIED BY 'reader';
# 給予reader同步權(quán)限
GRANT REPLICATION SLAVE ON *.* to 'reader'@'%';
FLUSH PRIVILEGES;

注解:其余的用戶,遠(yuǎn)程連接的自行設(shè)置

7.獲取主服務(wù)器的連接信息

# MySQL的連接信息
SHOW MASTER STATUS;

#新開(kāi)連接 獲取master實(shí)例的在docker的地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' master

image.png

從服務(wù)器連接主服務(wù)器(兩臺(tái)從服務(wù)器均是以下操作)

# 配置連接的參數(shù)
change master to master_host='172.17.0.2',master_user='reader',master_password='reader',master_log_file='mysql-bin.000003',master_log_pos=2259;
# 啟動(dòng)同步
start slave;
# 查看是否成功
show slave status\G

# 兩項(xiàng)都為Yes時(shí)代表成功。
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes

# 失敗需要使用停止連接后檢查其他賬號(hào)密碼,地址,pos等參數(shù)

# 停止連接,如果一次成功無(wú)需使用該命令
stop slave;

image.png

三.結(jié)果

主服務(wù)器執(zhí)行命令

SHOW SLAVE HOSTS;

image.png

能從主服務(wù)器查詢到兩臺(tái)從服務(wù)器的ID以及端口。完成MySQL部署。

到此這篇關(guān)于Docker部署MySQL8集群(一主二從)的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker部署MySQL8集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Dockerfile制作官方Tomcat鏡像及鏡像使用詳解

    Dockerfile制作官方Tomcat鏡像及鏡像使用詳解

    本篇文章主要介紹了Dockerfile構(gòu)建官方Tomcat鏡像及鏡像使用詳解,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-07-07
  • Jenkins+Docker持續(xù)集成的實(shí)現(xiàn)

    Jenkins+Docker持續(xù)集成的實(shí)現(xiàn)

    Jenkins是基于Java開(kāi)發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開(kāi)放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。本文介紹了Jenkins Docker持續(xù)集成,分享給大家
    2021-05-05
  • docker部署mysql?9.0.1的實(shí)現(xiàn)

    docker部署mysql?9.0.1的實(shí)現(xiàn)

    本文主要介紹了docker部署mysql?9.0.1的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 解決docker日志掛載的問(wèn)題

    解決docker日志掛載的問(wèn)題

    這篇文章主要介紹了解決docker日志掛載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Docker部署安裝Nginx的詳細(xì)過(guò)程

    Docker部署安裝Nginx的詳細(xì)過(guò)程

    Nginx 是一款高性能的 web 服務(wù)器、反向代理服務(wù)器以及電子郵件(IMAP/POP3/SMTP)代理服務(wù)器,這篇文章主要介紹了Docker部署安裝Nginx,需要的朋友可以參考下
    2024-04-04
  • docker容器內(nèi)運(yùn)行jupyter映射到本地方式

    docker容器內(nèi)運(yùn)行jupyter映射到本地方式

    通過(guò)在容器內(nèi)指定Jupyter的IP為0.0.0.0,并使用--no-browser參數(shù),可以正確將Jupyter端口映射到本地,具體步驟包括在本地機(jī)器運(yùn)行Docker容器,指定端口映射;在容器內(nèi)運(yùn)行Jupyter Notebook,設(shè)置--ip和--no-browser參數(shù)(一般還需--allow-root)
    2024-11-11
  • docker安裝nginx并配置ssl的方法步驟

    docker安裝nginx并配置ssl的方法步驟

    本文主要介紹了docker安裝nginx并配置ssl的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • idea集合docker實(shí)現(xiàn)鏡像打包一鍵部署

    idea集合docker實(shí)現(xiàn)鏡像打包一鍵部署

    這篇文章主要介紹了idea集合docker實(shí)現(xiàn)鏡像打包一鍵部署
    2021-02-02
  • docker下安裝Nginx的方法

    docker下安裝Nginx的方法

    這篇文章主要介紹了docker下安裝Nginx的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • docker直接下載太慢,如何更換國(guó)內(nèi)靠譜鏡像源

    docker直接下載太慢,如何更換國(guó)內(nèi)靠譜鏡像源

    這篇文章主要介紹了docker直接下載太慢,如何更換國(guó)內(nèi)靠譜鏡像源問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評(píng)論

深泽县| 厦门市| 宜宾县| 顺义区| 大渡口区| 德保县| 怀仁县| 凌云县| 巍山| 镇江市| 普定县| 海盐县| 东乡县| 兴海县| 宝清县| 浠水县| 永靖县| 金沙县| 昌黎县| 翁牛特旗| 左贡县| 敖汉旗| 舒城县| 安义县| 扶沟县| 灵宝市| 宜章县| 和顺县| 屏东县| 德令哈市| 杨浦区| 阳泉市| 大名县| 革吉县| 平乐县| 永泰县| 丰原市| 鲜城| 冕宁县| 连城县| 阳高县|