1. Installieren Sie Docker auf CentOS 7.9 201. Installieren Sie das Tool yum-utils yum install -y yum-utils 2. Docker-Abhängigkeitsquellen einrichten yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo Hinweis: Die von CentOS direkt mit dem Befehl yum installierte Docker-Version ist 1.13.1. Dies ist die letzte Version der alten Docker-Version. Sie müssen daher ein Repo konfigurieren, um die neue Version von Docker-CE (Community Edition) zu installieren. Docker-EE (Enterprise Edition) ist kostenpflichtig und die Leser können es selbst verstehen. Hier verwenden wir die CE Community Edition 3. Docker installieren yum -y installiere Docker-CE 4. Überprüfen Sie die installierte Version Docker -v Docker-Version 5. Überprüfen Sie die Version der unterstützenden Einstellungen Yum-Liste installiert | Grep Docker 6. Ziehen Sie das MySQL8-Image Docker-Pull MySQL:8 Hinweis: mysql:5.7 bedeutet, dass die MySQL-Version 5.7 ist. Docker-Images anzeigen Docker-Bilder 2. MySQL-Cluster bereitstellen (ein Master und zwei Slaves)1. Erstellen Sie das Master-Slave-MySQL-Konfigurations- und Datendateispeicherverzeichnis # Erstellen Sie das Konfigurationsverzeichnis und das Datenverzeichnis des Master-Dienstes mkdir -p /usr/local/mysqlData/master/cnf mkdir -p /usr/local/mysqlData/master/data # Erstellen Sie das Konfigurationsverzeichnis und das Datenverzeichnis des Slave-Servers 1 mkdir -p /usr/local/mysqlData/slave/cnf mkdir -p /usr/local/mysqlData/slave/data # Erstellen Sie das Konfigurationsverzeichnis und das Datenverzeichnis des Slave-Servers 2 mkdir -p /usr/local/mysqlData/slave2/cnf mkdir -p /usr/local/mysqlData/slave2/data Der Grund für die Erstellung von zwei Slave-Serverkonfigurationen besteht darin, dass die in MySQL konfigurierte Server-ID nicht wiederholt werden kann. 2. Konfigurieren Sie die Konfigurationsdatei des Hauptservers vim /usr/local/mysqlData/master/cnf/mysql.cnf Die Konfigurationsdatei lautet wie folgt [mysqld] ## Legen Sie die Server-ID fest. Beachten Sie, dass sie eindeutig sein muss: Server-ID=1 ## Binlog aktivieren log-bin=mysql-bin ## Binlog-Cache binlog_cache_size=1M ## Binlog-Format (gemischt, Anweisung, Zeile, das Standardformat ist Anweisung) binlog_format=gemischt ##Zeichenkodierung auf utf8mb4 einstellen Zeichensatzserver = utf8mb4 Sortierserver = utf8mb4_unicode_ci init_connect = "Namen festlegen utf8mb4" [Kunde] Standardzeichensatz = utf8mb4 [mysql] Standardzeichensatz = utf8mb4 3. Konfigurieren Sie die Konfigurationsdatei vom Server # Nr. 1 Slave-Server vim /usr/local/mysqlData/slave/cnf/mysql.cnf # Nr. 2 Slave-Server vim /usr/local/mysqlData/slave2/cnf/mysql.cnf Die Konfigurationsdateien lauten wie folgt (Server-ID von Nr. 1 ist auf 2 eingestellt, Server-ID von Nr. 2 ist auf 3 eingestellt, eine Duplizierung ist nicht erforderlich) [mysqld] ## Legen Sie die Server-ID fest. Beachten Sie, dass sie eindeutig sein muss: Server-ID=2 ## Binlog aktivieren log-bin=mysql-slave-bin ## relay_log-Konfigurations-Relay-Protokoll relay_log=edu-mysql-relay-bin ## Wenn Sie Funktionen oder gespeicherte Prozeduren synchronisieren müssen log_bin_trust_function_creators=true ## Binlog-Cache binlog_cache_size=1M ## Binlog-Format (gemischt, Anweisung, Zeile, das Standardformat ist Anweisung) binlog_format=gemischt ##Zeichenkodierung auf utf8mb4 einstellen Zeichensatzserver = utf8mb4 Sortierserver = utf8mb4_unicode_ci init_connect = "Namen festlegen utf8mb4" Slave_Überspringen_Fehler=1062 [Kunde] Standardzeichensatz = utf8mb4 [mysql] Standardzeichensatz = utf8mb4 4. Erstellen Sie einen Master-Slave-MySQL-Spiegel # Instanziierung des Masterservers 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 # Slave-Server 1 instanziieren 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 # Slave-Server 2 instanziieren 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 Parameter Erklärung -p gibt den vom Container freigegebenen Port an, Host-Port (physische Maschine): Port der Docker-Instanz -v hängt das Speichervolumen an den Container an und hängt es in ein Verzeichnis im Container ein. -e gibt Umgebungsvariablen an, die im Container verwendet werden können 5. Zeigen Sie die erstellte Instanz an Docker ps -a 6. Erstellen Sie einen MySQL-Verbindungsbenutzer # Benutzer „Reader“ erstellen und Passwort für den Reader festlegen ERSTELLEN SIE EINEN BENUTZERLESER, DER DURCH „Leser“ IDENTIFIZIERT IST. # Gewähren Sie dem Leser Synchronisierungsberechtigungen. GRANT REPLICATION SLAVE ON *.* an „Leser“@„%“; FLUSH-PRIVILEGIEN; Hinweis: Für andere Benutzer werden die Remote-Verbindungseinstellungen selbst konfiguriert 7. Holen Sie sich die Verbindungsinformationen des Hauptservers #MySQL-Verbindungsinformationen SHOW MASTER STATUS; #Öffnen Sie eine neue Verbindung, um die Adresse der Masterinstanz in Docker Inspection --format='{{.NetworkSettings.IPAddress}}' Master abzurufen. Der Slave-Server stellt eine Verbindung zum Master-Server her (beide Slave-Server führen die folgenden Vorgänge aus) # Konfigurieren Sie die Verbindungsparameter und ändern Sie „Master“ in „master_host='172.17.0.2',master_user='reader',master_password='reader',master_log_file='mysql-bin.000003',master_log_pos=2259; # Synchronisierung starten, Slave starten; # Überprüfen Sie, ob die Show Slave Status\G erfolgreich war # Wenn beide Ja sind, bedeutet dies Erfolg. # Slave_IO_Running: Ja # Slave_SQL_Running: Ja # Wenn dies fehlschlägt, müssen Sie die Verbindung beenden und andere Kontokennwörter, Adressen, POS und andere Parameter überprüfen. # Beenden Sie die Verbindung. Wenn dies einmal erfolgreich ist, müssen Sie den Befehl „Stop Slave“ nicht verwenden. 3. ErgebnisseDer Hauptserver führt den Befehl aus SLAVE-HOSTS ANZEIGEN; Die IDs und Ports der beiden Slave-Server können vom Master-Server abgefragt werden. Schließen Sie die MySQL-Bereitstellung ab. Damit ist dieser Artikel über die Implementierungsschritte der Docker-Bereitstellung eines MySQL8-Clusters (ein Master und zwei Slaves) abgeschlossen. Weitere relevante Inhalte zur Docker-Bereitstellung eines MySQL8-Clusters finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So starten Sie eine Transaktion in MySQL
>>: Einführung in 10 Online-Entwicklungstools für Webdesign
Vorwort Aufgrund von Bandbreitenbeschränkungen un...
Inhaltsverzeichnis Stile in uni-app Zusammenfasse...
/******************** * Anwendung von verknüpften...
Methode 1: Skriptmethode verwenden: Erstellen Sie...
Sprites: In der Vergangenheit war jede Bildressou...
Inhaltsverzeichnis Konfigurieren Sie zuerst packa...
1. Link zum Attribut (1) Platzieren Sie den Routi...
Was ist Pip pip ist ein Python-Paketverwaltungsto...
1. Bearbeiten Sie die Datei docker.service vi /us...
Inhaltsverzeichnis Vor der Transformation: Nach d...
Hinweis: Andere Maschinen (IP) können ohne Autori...
Inhaltsverzeichnis Verzeichnisstruktur bin-Verzei...
Die Methode hasOwnProperty() des Objekts gibt ein...
Wenn wir über den Ausnahmefilter von Nestjs sprec...
Bedarfsszenario: Der Chef bat mich, den Crawler z...