> MySQL 5.7 Cluster Master und Slave bereitstellen (nur zum Testen) Imageversion 5.7 1. Erstellen Sie ein Overlay-Netzwerk Docker-Netzwerk erstellen --Treiber-Overlay gemeinsames Netzwerk --attachable 2. Bearbeiten Sie zwei Konfigurationsdateien master.cnf und slave.cnf !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [mysqld] log-bin=mysql-bin Server-ID = 1 gtid-Modus=EIN erzwingen-gtid-Konsistenz=Ein !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [mysqld] Server-ID = 2 gtid-Modus=EIN erzwingen-gtid-Konsistenz=Ein 3. Starten Sie 2 MySQL: mysql-master, mysql-slave docker run -d \ --name mysql-master \ --network gemeinsames Netzwerk \ -e MYSQL_ROOT_PASSWORD=Passwort \ -v `pwd`/master.cnf:/etc/mysql/my.cnf \ -p 3306:3306 \ -d mysql:5.7 docker run -d \ --name mysql-slave \ --network gemeinsames Netzwerk \ -e MYSQL_ROOT_PASSWORD=Passwort \ -v `pwd`/slave.cnf:/etc/mysql/my.cnf \ -p 3307:3306 \ -d mysql:5.7 4. Benutzer aus der Bibliothek zur Replikation hinzufügen docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-master -uroot -pPassw0rd \ -e "ERSTELLEN SIE BENUTZER 'repl'@'%' IDENTIFIZIERT DURCH 'password', ERFORDERT SSL; " \ -e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';" 5. Master und Slave verbinden docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_PORT=3306, MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1, MASTER_SSL=1;" \ -e "SLAVE STARTEN;" 6. Überprüfen Sie den Slave-Status docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-slave -uroot -pPassw0rd -e "Slave-Status anzeigen\G" Der folgende Status ist normal: Slave_IO_Running: Ja Slave_SQL_Running: Ja > MySQL 8.0 Cluster Master und Slave bereitstellen (nur zum Testen) Spiegelversion mysql:8.0 1. Erstellen Sie ein Overlay-Netzwerk Docker-Netzwerk erstellen --Treiber-Overlay gemeinsames Netzwerk --attachable 2. Starten Sie 2 MySQL: mysql-master, mysql-slave docker run -d \ --name mysql-master \ --network gemeinsames Netzwerk \ -e MYSQL_ROOT_PASSWORD=Passwort \ -p 3306:3306 \ -d mysql --default-authentication-plugin=mysql_native_password docker run -d \ --name mysql-slave \ --network gemeinsames Netzwerk \ -e MYSQL_ROOT_PASSWORD=Passwort \ -p 3307:3306 \ -d mysql --default-authentication-plugin=mysql_native_password 3. Master und Slave konfigurieren docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-master -uroot -pPassw0rd \ -e "SET PERSIST server_id=1;" \ -e "SETZEN SIE PERSIST_ONLY gtid_mode=ON;" \ -e "SET PERSIST_ONLY enforce_gtid_consistency=true; " \ -e "ERSTELLEN SIE BENUTZER 'repl'@'%' IDENTIFIZIERT DURCH 'password', ERFORDERT SSL; " \ -e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';" docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "SET PERSIST server_id=2;" \ -e "SETZEN SIE PERSIST_ONLY gtid_mode=ON;" \ -e "SETZEN SIE PERSIST_ONLY enforce_gtid_consistency=true; " 4. Master und Slave neu starten Docker startet MySQL-Master MySQL-Slave neu 5. Master und Slave verbinden docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_PORT=3306, MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1, MASTER_SSL=1;" \ -e "SLAVE STARTEN;" 6. Überprüfen Sie den Slave-Status docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-slave -uroot -pPassw0rd -e "Slave-Status anzeigen\G" Der folgende Status ist normal: Slave_IO_Running: Ja Slave_SQL_Running: Ja > Datensynchronisation überprüfen Erstellen Sie eine Anoyi-Datenbank auf dem Master docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-master -uroot -pPassw0rd \ -e "Datenbank erstellen, Anoyi-Standardzeichensatz utf8mb4, utf8mb4_general_ci sortieren;" Anzeigen der Datenbankliste auf dem Slave docker run -it --rm --network gemeinsames Netzwerk mysql mysql -hmysql-slave -uroot -pPassw0rd \ -e "Datenbanken anzeigen;" mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein. +--------------------+ | Datenbank | +--------------------+ |anoyi | | Informationsschema | |mysql | | Leistungsschema | |System| +--------------------+ Zugehörige Informationen: MySQL 5.7: https://dev.mysql.com/doc/refman/5.7/en/replication.html Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der JavaScript-Datentypen
Vorne geschrieben In den letzten Jahren ist die L...
Inhaltsverzeichnis 1. Einführung in den Autofs-Di...
Erstellen des Images Früher haben wir verschieden...
Inhaltsverzeichnis 1. Die übergeordnete Komponent...
Vorwort Das Dateisystem ist für die Organisation ...
Inhaltsverzeichnis 1. Sicherheitsprobleme mit Doc...
Einführung Xiao A war gerade dabei, Code zu schre...
Übersicht zur Netzwerkkommunikation Bei der Entwi...
Ausrichtungsprobleme wie type="radio" un...
1. Vorbereitung vor der Installation: 1.1 JDK ins...
Port 80 ist ebenfalls konfiguriert. Geben Sie zun...
Vorwort Durch das Hinzufügen einer Drag & Dro...
Inhaltsverzeichnis Effektanzeige Code-Link Schlüs...
Zweck: Station A als sekundäres Verzeichnis von S...
Inhaltsverzeichnis Kettenanrufe Ein kleiner Koffe...