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
In meinem letzten Beitrag habe ich darüber gesproc...
Bei Zellen können dunkle Rahmenfarben individuell...
Der Code sieht folgendermaßen aus: <!DOCTYPE h...
Die folgende Grafik zeigt, wie zeitaufwändig es is...
Vorwort Dieser Artikel stellt hauptsächlich die r...
In diesem Artikelbeispiel wird der spezifische Co...
SQL UNIQUE-Einschränkung Die UNIQUE-Einschränkung...
Das Installationstutorial für MySQL 8.0.11 WinX64...
Der Download des Docker-Images hängt oder ist zu ...
Inhaltsverzeichnis 1. Ereignisverarbeitungsmodell...
Nachdem wir Docker gestartet haben, schauen wir u...
Dieser Artikel zeigt anhand eines Beispiels, wie ...
Inhaltsverzeichnis Klicken Sie zunächst auf das E...
Dieses Skript kann die Vorgänge zum Starten, Stop...
Hintergrund Um die Docker-Containerisierung währe...