Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was ist die Methode zum Erstellen eines MySQL-Clusters mit Docker?

WBOY
Freigeben: 2023-05-29 13:55:06
nach vorne
1561 Leute haben es durchsucht

Grundlegende Docker-Anweisungen:

Softwarepaket aktualisieren

yum -y update
Nach dem Login kopieren

Docker Virtual Machine installieren (Centos 7)

yum install -y docker
Nach dem Login kopieren
# ?? # 🎜🎜#Spiegel löschen

service docker start
service docker stop
Nach dem Login kopieren

Container ausführen

docker search 镜像名称
Nach dem Login kopieren

Containerliste anzeigen

docker pull 镜像名称
Nach dem Login kopieren

Wenn wir die Java-Umgebung verwenden möchten, können wir das tun dies:

docker images
Nach dem Login kopieren
docker rmi 镜像名称
Nach dem Login kopieren
docker run 启动参数 镜像名称
Nach dem Login kopieren

Installieren Sie den pxc-Cluster (ich werde hier nicht die Vor- und Nachteile des MySQL-pxc-Clusters und des Replikationsclusters erläutern. Ich werde die pxc-Clusterlösung [Multi-Node-Backup und stark] wählen Federation]):

PXC-Image installieren

docker ps -a
Nach dem Login kopieren

Lokales Image anzeigen

搜索:
[root@vm_71_225_centos ~]# docker search java
index    name                          description                   stars   official  automated
docker.io  docker.io/node                     node.js is a javascript-based platform for...  5752   [ok]
docker.io  docker.io/tomcat                    apache tomcat is an open source implementa...  1891   [ok]
docker.io  docker.io/java                     java is a concurrent, class-based, and obj...  1745   [ok]
docker.io  docker.io/openjdk                   openjdk is an open-source implementation o...  1031   [ok]
Nach dem Login kopieren

docker.io/percona/percona-xtradb- Cluster ist zu lang, Umbenennen:

下载:
[root@vm_71_225_centos ~]# docker pull docker.io/java
using default tag: latest
trying to pull repository docker.io/library/java ...
latest: pulling from docker.io/library/java
5040bd298390: downloading [=>                         ] 1.572 mb/51.36 mb
Nach dem Login kopieren
Net1-Netzwerksegment erstellen:
运行:
[root@vm_71_225_centos ~]# docker run -it --name myjava docker.io/java bash
root@25623e12b759:/# java


-i: 以交互模式运行容器,通常与 -t 同时使用;


-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
Nach dem Login kopieren

Fünf Datenvolumes erstellen (pxc kann nicht direkt auf die Daten des Host-Computers zugreifen, also erstellen Sie fünf Docker Datenvolumes)

docker pull percona/percona-xtradb-cluster
Nach dem Login kopieren

Standort des Datenvolumens anzeigen:

[root@vm_71_225_centos ~]# docker images
repository                 tag         image id      created       size
docker.io/hello-world           latest       e38bc07ac18e    2 months ago    1.85 kb
docker.io/percona/percona-xtradb-cluster  latest       f1439de62087    3 months ago    413 mb
docker.io/java               latest       d23bdf5b1b1b    17 months ago    643 mb
Nach dem Login kopieren

Erstellen Sie einen 5-Knoten-PXC-Cluster

[root@vm_71_225_centos ~]# docker tag percona/percona-xtradb-cluster pxc
[root@vm_71_225_centos ~]# docker images
repository                 tag         image id      created       size
docker.io/hello-world           latest       e38bc07ac18e    2 months ago    1.85 kb
docker.io/percona/percona-xtradb-cluster  latest       f1439de62087    3 months ago    413 mb
pxc                    latest       f1439de62087    3 months ago    413 mb
docker.io/java               latest       d23bdf5b1b1b    17 months ago    643 mb
Nach dem Login kopieren

Warten Sie 2 Minuten, bevor Sie den erstellen Zweiter Knoten: Warten Sie, bis der erste Knoten instanziiert ist, bevor Sie die zweite Knoteninstanz starten. Andernfalls wird sie sofort gestoppt :

docker network create --subnet=172.18.0.0/16 net1
Nach dem Login kopieren

Melden Sie sich bei anderen Knotendatenbanken an und Sie können sehen, dass sie synchronisiert wurden, um einen einfachen MySQL-Cluster zu bilden

Installieren Sie Haproxy für hohe Verfügbarkeit und Auslastung Balancing# 🎜🎜#

Haproxy ziehen

docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5
Nach dem Login kopieren

Haproxy-Konfigurationsdatei schreiben

[root@vm_71_225_centos code]# docker inspect v1
[
  {
    "driver": "local",
    "labels": {},
    "mountpoint": "/var/lib/docker/volumes/v1/_data",
    "name": "v1",
    "options": {},
    "scope": "local"
  }
]
Nach dem Login kopieren

Die Konfigurationsdatei lautet wie folgt:

#创建第1个mysql节点
docker run -d -p 3306:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc
Nach dem Login kopieren
# 🎜🎜#Erstellen Sie den ersten Haproxy-Lastausgleichsserver

Code kopieren Der Code lautet wie folgt:

docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft /haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=net1 --ip 172.18.0.7 haproxy

Geben Sie den h1-Container ein und starten Sie haproxy

#创建第2个mysql节点
docker run -d -p 3307:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
#创建第3个mysql节点
docker run -d -p 3308:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v3:/var/lib/mysql --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
#创建第4个mysql节点
docker run -d -p 3309:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v4:/var/lib/mysql --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc
#创建第5个mysql节点
docker run -d -p 3310:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v5:/var/lib/mysql -v backup:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc
Nach dem Login kopieren
# 🎜🎜#Überprüfen Sie, ob der Start erfolgreich ist:

Besuchen Sie http://ip:4001/dbs

#🎜🎜 #

Keepalive installieren, um eine Doppelklick-Hot-Vorbereitung zu erreichen

Das obige ist der detaillierte Inhalt vonWas ist die Methode zum Erstellen eines MySQL-Clusters mit Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage