在 Docker 中重建 MySQL 集群

2021-09-19 11:33:52 字數 1342 閱讀 8864

本文記錄了使用重建集群的過程

1. 關閉並移除所有資料庫

在 windows 環境中, 通過 xshell 連線到各個節點然後分別執行

docker stop mysql

docker rm -f mysql

2. 選擇主節點
bash mysql-start.sh   # 首先執行mysql的映象, mysql-start.sh 的內容為

docker run -d --name mysql \

--network host \

--security-opt seccomp=unconfined \

-v /thingsdata/mysql/data:/var/lib/mysql \

-v /thingsdata/mysql/etc/conf.d:/etc/mysql/conf.d:ro \

-v /etc/localtime:/etc/localtime:ro \

-e mysql_root_password=密碼 \

mysql映象位址 \

--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

# 進入mysql

docker exec -it mysql /usr/bin/mysql -u root -p

# 去除當前節點的master屬性, master節點會根據啟動順序自行設定

reset master;

# 在當前節點開啟集群

set global group_replication_bootstrap_group=on;

start group_replication;

set global group_replication_bootstrap_group=off;

3. 進入其它節點

重複上一步操作

bash mysql-start.sh

docker exec -it mysql /usr/bin/mysql -u root -p

reset master;

start group_replication;

4. 檢查集群

進入任意節點任意節點, 輸入下面命令

docker exec -it mysql /usr/bin/mysql -u root -p

select * from performance_schema.replication_group_members;

如果所有節點都處於 online 狀態, 則表明集群啟動成功

在docker中建立mysql

我的mysql映象版本是8.0 記錄一下出現的意外情況 我是以下面的命令來進行安裝 sudo docker run name mysql 2 d restart always p 5002 3306 e mysql root password yourpasswd v pwd db2 data va...

在docker中安裝mysql

bin sh 安裝docker 在docker中安裝mysql 解決了docker容器中無法輸入中文的問題 安裝docker 更新源 yum y update 解除安裝舊版本 如果安裝過舊版本的話 sudo yum remove docker docker common docker selinux...

mysql在docker中的實現

專案背景 專案中,使用docker部署mysql服務,如果將mysql儲存的資料儲存在docker的容器中,一旦docker關閉,會導致儲存的的資料丟失,因此,需要將docker中mysql的資料實時儲存在宿主機上,從而當docker關閉,再次啟動docker時,也能夠正常使用資料,不會造成資料丟失...