亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一.CentOS7.9安裝Docker20

1.安裝yum-utils工具

yum install -y yum-utils

2.設置docker的依賴源

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

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

3.安裝docker

yum -y install docker-ce

4.查看安裝的版本

docker -v
docker version

image.png

5. 查看配套設置的版本

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ù)文件的存儲目錄

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

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

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

創(chuàng)建兩個從服務器的配置是因為MySQL配置的server-id不能重復

image.png

2.配置主服務器的配置文件

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

配置文件如下

[mysqld]
## 設置server_id,注意要唯一
server-id=1
## 開啟binlog
log-bin=mysql-bin
## binlog緩存
binlog_cache_size=1M
## binlog格式(mixed、statement、row,默認格式是statement)
binlog_format=mixed
##設置字符編碼為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.配置從服務器的配置文件

# 1號從服務器
vim /usr/local/mysqlData/slave/cnf/mysql.cnf
# 2號從服務器
vim /usr/local/mysqlData/slave2/cnf/mysql.cnf

配置文件如下(1號的server-id設置為2,2號的server-id設置為3,不重復即可)

[mysqld]
## 設置server_id,注意要唯一
server-id=2
## 開啟binlog
log-bin=mysql-slave-bin
## relay_log配置中繼日志
relay_log=edu-mysql-relay-bin
## 如果需要同步函數(shù)或者存儲過程
log_bin_trust_function_creators=true
## binlog緩存
binlog_cache_size=1M
## binlog格式(mixed、statement、row,默認格式是statement)
binlog_format=mixed
##設置字符編碼為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鏡像

# 主服務器實例化
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號從服務器實例化
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號從服務器實例化
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 指定容器暴露的端口,宿主機(物理機)端口: docker實例端口
-p 3307:3306 把物理機的3307端口給實例的端口3306端口進行映射

-v 給容器掛載存儲卷,掛載到容器的某個目錄
-v /usr/local/mysqlData/master/cnf:/etc/mysql/conf.d 把剛創(chuàng)建的配置文件夾映射成實例的/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 設置MySQL的root賬號密碼為123456

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

docker ps -a

image.png

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

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

注解:其余的用戶,遠程連接的自行設置

7.獲取主服務器的連接信息

# MySQL的連接信息
SHOW MASTER STATUS;

#新開連接 獲取master實例的在docker的地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' master

image.png

從服務器連接主服務器(兩臺從服務器均是以下操作)

# 配置連接的參數(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;
# 啟動同步
start slave;
# 查看是否成功
show slave status\G

# 兩項都為Yes時代表成功。
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes

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

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

image.png

三.結果

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

SHOW SLAVE HOSTS;

image.png

能從主服務器查詢到兩臺從服務器的ID以及端口。完成MySQL部署。

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

相關文章

  • 解決docker pull鏡像報錯的問題

    解決docker pull鏡像報錯的問題

    這篇文章主要介紹了解決docker pull鏡像報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用docker在linux環(huán)境中部署springboot包的教程

    使用docker在linux環(huán)境中部署springboot包的教程

    這篇文章主要介紹了使用docker在linux環(huán)境中部署springboot包,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Windows10系統(tǒng)下Docker默認存儲位置更改方案

    Windows10系統(tǒng)下Docker默認存儲位置更改方案

    這篇文章主要給大家介紹了關于Windows10系統(tǒng)下Docker默認存儲位置更改方案的相關資料,在Docker中存儲路徑是一個重要的話題,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Jenkins整合Docker自動化部署的實現(xiàn)

    Jenkins整合Docker自動化部署的實現(xiàn)

    本文主要介紹了Jenkins整合Docker自動化部署的實現(xiàn),通過結合Jenkins的持續(xù)集成和Docker的容器化技術,可以高效地構建、測試和部署應用程序,感興趣的可以了解一下
    2023-11-11
  • docker centos7 安裝ssh具體步驟

    docker centos7 安裝ssh具體步驟

    這篇文章主要介紹了 docker centos7 安裝ssh相關資料,這里提供了詳細的具體安裝步驟,需要的朋友可以參考下
    2016-11-11
  • docker-mysql連接方式

    docker-mysql連接方式

    這篇文章主要介紹了docker-mysql連接方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • docker容器通過ping直接運行獲取公網IP操作

    docker容器通過ping直接運行獲取公網IP操作

    這篇文章主要介紹了docker容器通過ping直接運行獲取公網IP操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 親手教你Docker Compose安裝DOClever的詳細過程

    親手教你Docker Compose安裝DOClever的詳細過程

    DOClever是一個可視化免費開源的接口管理工具,DOClever前后端全部采用了javascript來作為我們的開發(fā)語言。這篇文章主要介紹了Docker Compose安裝DOClever的詳細過程,需要的朋友可以參考下
    2021-09-09
  • 詳解Docker中的nacos集群部署方式

    詳解Docker中的nacos集群部署方式

    在 Docker 中使用 Nacos,你可以通過拉取官方提供的 Docker 鏡像并運行容器的方式來快速部署,這篇文章主要介紹了Docker中的nacos集群部署方式,感興趣的朋友一起看看吧
    2024-01-01
  • 如何查看docker中mysql的版本問題

    如何查看docker中mysql的版本問題

    這篇文章主要介紹了如何查看docker中mysql的版本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論