1. Mit der MySQL-Replikation verbundene Konzepte
Masterknoten:
Vom Knoten:
Mit der Kopierfunktion in Zusammenhang stehende Dateien:
Kopieren Sie das Schema:
Zu den gängigen Architekturen gehören Master-Slave-Architektur oder Kaskadenarchitektur 2. Einfache Implementierung einer One-Master-One-Slave-Architektur1. Neue Datenbank erstellt Master-Slave-Architektur1) Hauptserverkonfiguration ~]# vim /etc/my.cnf [mysqld] log_bin binlog_format=ZEILE log-basename=master1 server_id=1 ~]# systemctl MariaDB neu starten ~]#mysql MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO testuser@'192.168.0.8' IDENTIFIED BY 'testpass'; #Synchronisierungskonto autorisieren MariaDB [(keine)]> SHOW MASTER LOGS; +--------------------+-----------+ | Protokollname | Dateigröße | +--------------------+-----------+ | master1-bin.000001 | 26756 | | master1-bin.000002 | 921736 | | master1-bin.000003 | 401 | #Diesen Standort aufzeichnen und mit der Synchronisierung vom Server beginnen +--------------------+-----------+ 2) Aus der Serverkonfiguration ~]# vim /etc/my.cnf [mysqld] server_id=2 #eindeutige Server-ID relay_log=Relay-Log relay_log_index=Relay-Log.index schreibgeschützt = EIN ~]# systemctl MariaDB neu starten ~]#mysql MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.7', #Geben Sie die IP des Masterknotens an -> MASTER_USER='testuser', #Benutzername des Synchronisationsbenutzers-> MASTER_PASSWORD='testpass', #Passwort-> MASTER_PORT=3306, -> MASTER_LOG_FILE='master1-bin.000003', #Oben aufgezeichnete Datei-> MASTER_LOG_POS=401, #Position-> MASTER_CONNECT_RETRY=10; #Wiederholungszeit 10 SekundenMariaDB [(keine)]> START SLAVE; #Master-Slave-Replikation starten 3) Testen Generieren Sie einige Daten auf dem Masterknoten: MariaDB [(keine)]> DATENBANK ERSTELLEN testdb; MariaDB [(keine)]> testdb verwenden MariaDB [testdb]> Tabelle Testlog erstellen (ID int auto_increment Primärschlüssel, Name char(30), Alter int Standard 20); MariaDB [testdb]> Trennzeichen $$ MariaDB [testdb]> Prozedur pro_testlog() erstellen -> beginnen -> deklariere i int; -> setze i = 1; -> solange i < 100000 -> in Testlog(Name, Alter) Werte einfügen (concat('testuser',i),i); -> setze i = i +1; -> Ende während; -> Ende$$ MariaDB [testdb]> Trennzeichen; MariaDB [testdb]> TRANSAKTION STARTEN; MariaDB [testdb]> CALL pro_testlog; MariaDB [testdb]> COMMIT; Überprüfen Sie den Synchronisierungsstatus auf dem Slave-Knoten: MariaDB [(keine)]> SELECT COUNT(*) FROM testdb.testlog; +----------+ | ANZAHL(*) | +----------+ | 99999 | #Synchronisierung erfolgreich+----------+ MariaDB [(keine)]> SLAVE-STATUS ANZEIGEN\G *************************** 1. Reihe **************************** Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet Master_Host: 192.168.0.7 Master_User: Testbenutzer Master_Port: 3306 Verbindungswiederholung: 10 Master_Log_File: master1-bin.000003 Read_Master_Log_Pos: 10389814 Relay-Log-Datei: relay-log.000002 Relay_Log_Pos: 10389944 Relay_Master_Log_File: master1-bin.000003 Slave_IO_Running: Ja #IO-Thread wurde gestartet Slave_SQL_Running: Ja #SQL-Thread wurde gestartet Seconds_Behind_Master: 0 #Zeitunterschied zwischen Master- und Slave-Replikation Master_Server_Id: 1 2. Fügen Sie der alten Datenbank einen neuen Slave-Server hinzu1) Hauptserverkonfiguration ~]# vim /etc/my.cnf [mysqld] log_bin binlog_format=ZEILE log-basename=master1 server_id=1 ~]# systemctl MariaDB neu starten ~]# mysqldump -A -F --single-transaction --master-data=1 > full.sql ~]# scp full.sql [email protected]:/root/ ~]# mysql -e 'GRANT REPLICATION SLAVE ON *.* TO testuser@'192.168.0.8' IDENTIFIZIERT DURCH 'testpass';' 2) Aus der Serverkonfiguration ~]# vim /etc/my.cnf [mysqld] server_id=2 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index schreibgeschützt = EIN ~]# systemctl MariaDB neu starten ~]# vim full.sql #Fügen Sie der SQL-Sicherungsdatei die folgenden Informationen hinzu CHANGE MASTER TO MASTER_HOST='192.168.0.7', MASTER_USER='Testbenutzer', MASTER_PASSWORD='Testpass', MASTER_PORT=3306, MASTER_LOG_FILE='master1-bin.000005', MASTER_LOG_POS=245, MASTER_CONNECT_RETRY=10; ~]# mysql < full.sql #Konfiguration wurde beim Importieren von SQL MariaDB abgeschlossen [(keine)]> SELECT COUNT(*) FROM testdb.testlog; +----------+ | ANZAHL(*) | +----------+ | 99999 | +----------+ MariaDB [(keine)]> START SLAVE; #Replikation starten 3. Implementierung einer kaskadierenden Replikationsarchitektur1) Masterknoten [root@master ~]# vim /etc/my.cnf [mysqld] log_bin binlog_format=ZEILE log-basename=master server_id=1 [root@master ~]# systemctl MariaDB neu starten MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.0.%' IDENTIFIZIERT DURCH 'replpass'; MariaDB [(keine)]> MASTER-PROTOKOLLE ANZEIGEN; +----------------------+----------+ | Protokollname | Dateigröße | +----------------------+----------+ | master-bin.000001 | 26753 | | master-bin.000002 | 921736 | | master-bin.000003 | 401 | +----------------------+----------+ 2) Slave-Knoten [root@slave1 ~]# vim /etc/my.cnf [mysqld] log_bin #Beachten Sie, dass in der Kaskadenarchitektur der Relay-Slave-Knoten über die Binärprotokollfunktion binlog_format=ROW verfügen muss schreibgeschützt = EIN server_id=2 log_slave_updates #Dies ist der Schlüssel. Seine Funktion besteht darin, die Datenänderungen vom Dienst in der Binärprotokolldatei relay_log = relay-log aufzuzeichnen. relay_log_index=Relay-Log.index [root@slave1 ~]# systemctl starte mariadb MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.7', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='master-bin.000003', -> MASTER_LOG_POS=401, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> START SLAVE; MariaDB [(keine)]> MASTER-PROTOKOLLE ANZEIGEN; +--------------------+-----------+ | Protokollname | Dateigröße | +--------------------+-----------+ | mariadb-bin.000001 | 245 | +--------------------+-----------+ MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.0.%' IDENTIFIZIERT DURCH 'replpass'; 3) Slave-Knoten von Slave-Knoten [root@slave2 ~]# vim /etc/my.cnf [mysqld] schreibgeschützt = EIN server_id=3 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index [root@slave2 ~]# systemctl starte mariadb MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.8', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='mariadb-bin.000001', -> MASTER_LOG_POS=245, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> START SLAVE; 4) Slave-Knoten 2 des Slave-Knotens [root@slave3 ~]# vim /etc/my.cnf [mysqld] schreibgeschützt = EIN server_id=4 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index [root@slave3 ~]# systemctl starte mariadb MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.8', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='mariadb-bin.000001', -> MASTER_LOG_POS=245, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> START SLAVE; Nachdem die kaskadierende Replikation nun erstellt wurde, testen wir sie. 4. Master-Master-Replikationsarchitektur
1) Hauptteil 1 [mysqld] log_bin binlog_format=ZEILE log-basename=master1 server_id=1 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index auto_increment_offset=1 #Das selbstinkrementierende Feld beginnt bei 1 auto_increment_increment=2 #Jedes Mal um 2 erhöhen, d. h. das ID-Feld der vom Knoten Master1 geschriebenen Daten besteht ausschließlich aus ungeraden Zahlen [root@master ~]# systemctl start mariadb MariaDB [(keine)]> MASTER-PROTOKOLLE ANZEIGEN; +--------------------+-----------+ | Protokollname | Dateigröße | +--------------------+-----------+ | master1-bin.000001 | 27033 | | master1-bin.000002 | 942126 | | master1-bin.000003 | 245 | +--------------------+-----------+ MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.0.%' IDENTIFIZIERT DURCH 'replpass'; MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.8', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='master2-bin.000003', -> MASTER_LOG_POS=245, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> START SLAVE; 2) Hauptteil 2 [mysqld] log_bin binlog_format=ZEILE log-basename=master2 server_id=2 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index auto_increment_offset=2 #Das selbstinkrementierende Feld beginnt bei 1 auto_increment_increment=2 #Jedes Mal um 2 erhöhen, d. h. die ID-Felder der vom Knoten Master1 geschriebenen Daten sind alle gerade Zahlen [root@master2 ~]# systemctl start mariadb MariaDB [(keine)]> MASTER-PROTOKOLLE ANZEIGEN; +--------------------+-----------+ | Protokollname | Dateigröße | +--------------------+-----------+ | master2-bin.000001 | 27036 | | master2-bin.000002 | 942126 | | master2-bin.000003 | 245 | +--------------------+-----------+ MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.0.%' IDENTIFIZIERT DURCH 'replpass'; MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.7', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='master1-bin.000003', -> MASTER_LOG_POS=245, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> START SLAVE; 3) Testen Erstellen Sie eine Tabelle auf Master1 und fügen Sie Daten hinzu. MariaDB [(keine)]> CREATE DATABASE db1; MariaDB [(keine)]> benutze db1 MariaDB [db1]> CREATE TABLE t1(id INT(2) AUTO_INCREMENT PRIMARY KEY,name CHAR(30)); MariaDB [db1]> INSERT t1(name) VALUES ('tom'); MariaDB [db1]> INSERT t1(name) VALUES ('maria'); MariaDB [db1]> AUSWÄHLEN * VON t1; +----+--------+ | Ich würde | Name | +----+--------+ | 1 | tom | | 3 | maria | +----+--------+ Daten zu master2MariaDB hinzufügen [db1]> INSERT t1(name) VALUES ('jerry'); MariaDB [db1]> INSERT t1(name) VALUES ('tony'); MariaDB [db1]> AUSWÄHLEN * VON t1; +----+--------+ | Ich würde | Name | +----+--------+ | 1 | tom | | 3 | maria | | 4 | Jerry | | 6 | Tony | 5. Implementierung der halbsynchronen ReplikationStandardmäßig ist die Replikationsfunktion von MySQL asynchron, was die beste Leistung bieten kann. Die Master-Datenbank wird beendet, wenn sie das Binlog-Protokoll an die Slave-Datenbank sendet, und überprüft nicht, ob die Slave-Datenbank es empfangen hat. Dies bedeutet, dass bei einem Fehler auf dem Master- oder Slave-Server der Slave-Server das vom Master-Server gesendete Binlog-Protokoll möglicherweise nicht empfängt, was zu Dateninkonsistenzen zwischen dem Master- und dem Slave-Server und sogar zu Datenverlust während der Wiederherstellung führt. Der Mechanismus der halbsynchronen Replikation besteht darin, dass nur dann, wenn der Masterknoten und der Slave-Knoten synchronisiert sind, nur einer von ihnen die Synchronisierung abschließt und den Schreibabschluss zurückgibt. Dieser Mechanismus gewährleistet die Datensicherheit. 1) Masterknoten [root@master ~]# vim /etc/my.cnf [mysqld] log_bin binlog_format=ZEILE log-basename=master server_id=1 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index [root@master ~]# systemctl MariaDB neu starten MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.0.%' IDENTIFIZIERT DURCH 'replpass'; MariaDB [(keine)]> MASTER-PROTOKOLLE ANZEIGEN; +----------------------+----------+ | Protokollname | Dateigröße | +----------------------+----------+ | master-bin.000001 | 26753 | | master-bin.000002 | 921736 | | master-bin.000003 | 401 | +----------------------+----------+ MariaDB [(keine)]> PLUGIN INSTALLIEREN rpl_semi_sync_master SONAME 'semisync_master.so'; #Modul installieren MariaDB [(keine)]> GLOBAL SETZEN rpl_semi_sync_master_enabled=1; #Halbsynchrone Funktion aktivieren MariaDB [(keine)]> GLOBALE VARIABLEN WIE '%semi%' ANZEIGEN; +------------------------------------+--------+ | Variablenname | Wert | +------------------------------------+--------+ | rpl_semi_sync_master_enabled | EIN | #Aktiviert | rpl_semi_sync_master_timeout | 10000 | | rpl_semi_sync_master_trace_level | 32 | | rpl_semi_sync_master_wait_no_slave | EIN | +------------------------------------+--------+ MariaDB [(keine)]> GLOBALEN STATUS ANZEIGEN WIE '%semi%'; +--------------------------------------------+----------+ | Variablenname | Wert | +--------------------------------------------+----------+ | Rpl_semi_sync_master_clients | 0 | | Rpl_semi_sync_master_net_avg_wait_time | 0 | | Rpl_semi_sync_master_net_wait_time | 0 | | Rpl_semi_sync_master_net_waits | 0 | | Rpl_semi_sync_master_keine_Zeiten | 0 | | Rpl_semi_sync_master_no_tx | 0 | | Rpl_semi_sync_master_status | EIN | | Rpl_semi_sync_master_timefunc_failures | 0 | | Rpl_semi_sync_master_tx_avg_wait_time | 0 | | Rpl_semi_sync_master_tx_Wartezeit | 0 | | Rpl_semi_sync_master_tx_waits | 0 | | Rpl_semi_sync_master_wait_pos_backtraverse | 0 | | Rpl_semi_sync_master_wait_sessions | 0 | | Rpl_semi_sync_master_yes_tx | 0 | +--------------------------------------------+----------+ 2) Von Knoten 1 [root@slave1 ~]# vim /etc/my.cnf [mysqld] schreibgeschützt = EIN log_bin binlog_format=ZEILE log-basename=Slave server_id=2 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index [root@slave1 ~]# systemctl MariaDB neu starten MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.7', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='master-bin.000003', -> MASTER_LOG_POS=401, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> PLUGIN INSTALLIEREN rpl_semi_sync_slave SONAME 'semisync_slave.so'; MariaDB [(keine)]> SET GLOBAL rpl_semi_sync_slave_enabled=1; MariaDB [(keine)]> START SLAVE; MariaDB [(keine)]> MASTER-PROTOKOLLE ANZEIGEN; +------------------+------------+ | Protokollname | Dateigröße | +------------------+------------+ | slave-bin.000001 | 26753 | | slave-bin.000002 | 921736 | | Slave-Bin.000003 | 245 | +------------------+------------+ MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.0.%' IDENTIFIZIERT DURCH 'replpass'; 3) Von Knoten 2 [root@slave2 ~]# vim /etc/my.cnf [mysqld] schreibgeschützt = EIN server_id=3 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index [root@slave2 ~]# systemctl MariaDB neu starten MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.8', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='slave-bin.000003', -> MASTER_LOG_POS=245, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> START SLAVE; 4) Von Knoten 3 [root@slave3 ~]# vim /etc/my.cnf [mysqld] schreibgeschützt = EIN server_id=4 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index [root@slave3 ~]# systemctl MariaDB neu starten MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.8', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='slave-bin.000003', -> MASTER_LOG_POS=245, -> MASTER_CONNECT_RETRY=10; MariaDB [(keine)]> START SLAVE; 6. Implementierung verschlüsselter Übertragung und ReplikationBeim standardmäßigen Master-Slave-Replikationsprozess oder bei der Remote-Verbindung mit MySQL/MariaDB sind alle Daten in der Link-Kommunikation im Klartext. Der Zugriff auf Daten oder die Replikation von Daten im externen Netzwerk stellt ein Sicherheitsrisiko dar. Durch die Kopiermethode mittels SSL/TLS-Verschlüsselung kann die Sicherheit der Daten zusätzlich verbessert werden.
1) CA [root@CA ~]# mkdir /etc/my.cnf.d/ssl/ [root@CA ~]# cd /etc/my.cnf.d/ssl/ [root@CA ssl]# openssl genrsa 2048 > cakey.pem [root@CA ssl]# openssl req -new -x509 -key cakey.pem -out cacert.pem -days 3650 #Selbstsigniertes Zertifikat Ländername (2-Buchstaben-Code) [XX]:CN Name des Staates oder der Provinz (vollständiger Name) []:beijing Ortsname (z. B. Stadt) [Standardstadt]: Peking Name der Organisation (z. B. Firma) [Standard Company Ltd]:testmysqlca Name der Organisationseinheit (z. B. Abschnitt) []:opt Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:ca.testmysqlca.com [root@CA ssl]# openssl req -newkey rsa:2048 -days 365 -nodes -keyout master.key > master.csr Ländername (2-Buchstaben-Code) [XX]:CN Name des Staates oder der Provinz (vollständiger Name) []:beijing Ortsname (z. B. Stadt) [Standardstadt]: Peking Name der Organisation (z. B. Firma) [Standard Company Ltd]:testmysqlca Name der Organisationseinheit (z. B. Abschnitt) []:opt Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:master.testmysqlca.com [root@CA ssl]# openssl x509 -req -in master.csr -CA cacert.pem -CAkey cakey.pem -set_serial 01 > master.crt #Masterzertifikat signieren [root@CA ssl]# openssl req -newkey rsa:2048 -days 365 -nodes -keyout slave.key > slave.csr Ländername (2-Buchstaben-Code) [XX]:CN Name des Staates oder der Provinz (vollständiger Name) []:beijing Ortsname (z. B. Stadt) [Standardstadt]: Peking Name der Organisation (z. B. Firma) [Standard Company Ltd]:testmysqlca Name der Organisationseinheit (z. B. Abschnitt) []:opt Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:slave.testmysqlca.com [root@CA ssl]# openssl x509 -req -in slave.csr -CA cacert.pem -CAkey cakey.pem -set_serial 02 > slave.crt #Slave-Zertifikat signieren [root@CA ssl]# openssl req -newkey rsa:2048 -days 365 -nodes -keyout slave2.key > slave2.csr Ländername (2-Buchstaben-Code) [XX]:CN Name des Staates oder der Provinz (vollständiger Name) []:beijing Ortsname (z. B. Stadt) [Standardstadt]: Peking Name der Organisation (z. B. Firma) [Standard Company Ltd]:testmysqlca Name der Organisationseinheit (z. B. Abschnitt) []:opt Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:slave2.testmysqlca.com [root@CA ssl]# openssl x509 -req -in slave2.csr -CA cacert.pem -CAkey cakey.pem -set_serial 03 > slave2.crt #Slave2-Zertifikat signieren [root@CA ssl]# openssl verify -CAfile cacert.pem master.crt slave.crt slave2.crt #Prüfen, ob das Zertifikat verfügbar ist master.crt: OK slave.crt: OK slave2.crt: OK Erstellen Sie zunächst den Ordner /etc/my.cnf.d/ssl/ auf jedem Knoten und kopieren Sie die entsprechenden Zertifikate, CA-Zertifikate und entsprechenden Schlüsseldateien dorthin. [root@CA ssl]# scp cacert.pem master.crt master.key [email protected]:/etc/my.cnf.d/ssl/ [root@CA ssl]# scp cacert.pem slave.crt slave.key [email protected]:/etc/my.cnf.d/ssl/ [root@CA ssl]# scp cacert.pem slave2.crt slave2.key [email protected]:/etc/my.cnf.d/ssl/ 2) Meister [root@master ~]# mkdir /etc/my.cnf.d/ssl/ [root@master ~]# vim /etc/my.cnf [mysqld] log_bin binlog_format=ZEILE log-basename=master server_id=1 ssl #SSL-Funktion aktivieren ssl-ca=/etc/my.cnf.d/ssl/cacert.pem #Pfad des CA-Zertifikats angeben ssl-cert=/etc/my.cnf.d/ssl/master.crt #Pfad Ihres eigenen Zertifikats angeben ssl-key=/etc/my.cnf.d/ssl/master.key #Pfad Ihrer eigenen Schlüsseldatei angeben [root@master ~]# systemctl restart mariadb MariaDB [(keine)]> GRANT REPLICATION SLAVE ON *.* TO repluser@'192.168.0.%' IDENTIFIED BY 'replpass' REQUIRE SSL; #Benutzer autorisieren und Benutzer zwingen, die SSL-Anmeldung zu aktivieren. MariaDB [(keine)]> SHOW MASTER LOGS; +----------------------+----------+ | Protokollname | Dateigröße | +----------------------+----------+ | master-bin.000001 | 26753 | | master-bin.000002 | 921736 | | master-bin.000003 | 413 | +----------------------+----------+ 3) Sklave1 [root@slave1 ~]# mkdir /etc/my.cnf.d/ssl/ [root@slave1 ~]# mysql -urepluser -preplpass -h192.168.0.7 --ssl-ca=/etc/my.cnf.d/ssl/cacert.pem --ssl-cert=/etc/my.cnf.d/ssl/slave.crt --ssl-key=/etc/my.cnf.d/ssl/slave.key [root@slave1 ~]# vim /etc/my.cnf [mysqld] schreibgeschützt = EIN server_id=2 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index SSL-Zertifikat ssl-ca=/etc/my.cnf.d/ssl/cacert.pem ssl-cert=/etc/my.cnf.d/ssl/slave.crt ssl-key=/etc/my.cnf.d/ssl/slave.key [root@slave1 ~]# systemctl MariaDB neu starten MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.7', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='master-bin.000003', -> MASTER_LOG_POS=413, -> MASTER_CONNECT_RETRY=10, -> MASTER_SSL=1; #Beachten Sie, dass Sie angeben müssen, um die SSL-Verbindung zu aktivieren MariaDB [(keine)]> START SLAVE; 4) Sklave2 [root@slave2 ~]# mkdir /etc/my.cnf.d/ssl/ [root@slave2 ~]# mysql -urepluser -preplpass -h192.168.0.7 --ssl-ca=/etc/my.cnf.d/ssl/cacert.pem --ssl-cert=/etc/my.cnf.d/ssl/slave2.crt --ssl-key=/etc/my.cnf.d/ssl/slave2.key [root@slave2 ~]# vim /etc/my.cnf [mysqld] schreibgeschützt = EIN server_id=3 relay_log=Relay-Protokoll relay_log_index=Relay-Log.index SSL-Zertifikat ssl-ca=/etc/my.cnf.d/ssl/cacert.pem ssl-cert=/etc/my.cnf.d/ssl/slave2.crt ssl-key=/etc/my.cnf.d/ssl/slave2.key [root@slave2 ~]# systemctl MariaDB neu starten MariaDB [(keine)]> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.0.7', -> MASTER_USER='repluser', -> MASTER_PASSWORD='replpass', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='master-bin.000003', -> MASTER_LOG_POS=413, -> MASTER_CONNECT_RETRY=10, -> MASTER_SSL=1; MariaDB [(keine)]> START SLAVE; 7. Zusammenfassung der relevanten Anweisungen und Variablen für die MySQL-ReplikationOptionen:
Variable:
Anweisung:
Dies ist das Ende dieses Artikels über MySQL-Serie 13 MySQL-Replikation. Weitere Informationen zur MySQL-Replikation 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:
|
<<: Was bedeutet es, nach der CSS-Linkadresse ein Fragezeichen (?) hinzuzufügen?
>>: Tipps zum Deaktivieren des Kompatibilitätsansichtsmodus von IE8 und IE9 mithilfe von HTML
Frage Frage 1: Wie kann der Leistungsverlust beho...
Inhaltsverzeichnis 1. Installieren Sie zuerst ech...
Nachdem Sie –subnet zum Erstellen des Docker-Netz...
Ich glaube, dass Studenten, die etwas über die Do...
In diesem Artikel wird beschrieben, wie Sie die m...
Ich werde nicht viel Unsinn erzählen, schauen wir...
In diesem Artikelbeispiel wird der spezifische Co...
Erster Blick auf die Wirkung: Vorwort: Auf diese ...
Anwendungsszenarien: Der Sprungpfad muss entsprec...
1. Dynamische Parameter Ab 2.6.0 können Sie einen...
Kapitel 1: Einführung in Keepalived Der Zweck des...
Inhaltsverzeichnis 1. Was ist eine Fensterfunktio...
1.1 Einführung in Speicher-Engines 1.1.1 Dateisys...
In diesem Artikel finden Sie das grafische Tutori...
System: VMTOOLs-Download: Verknüpfung: https://pa...