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
Ohne weitere Umschweife Beginnen Sie mit der Aufz...
Die Wirkung ist wie folgt: analysieren 1. Hier se...
Optgroup wird im Auswahltag verwendet, um den Inha...
<br />Vor einem Jahr gab es im Internet kein...
Vorwort Kürzlich wurde ich in einem Interview gef...
mysql-5.7.17-winx64 ist die neueste Version von M...
Inhaltsverzeichnis Vorwort 1. Was ist Phantomlese...
Inhaltsverzeichnis 1. Erstellen Sie ein Hadoop-Ve...
In diesem Artikelbeispiel wird der spezifische Co...
CSS stimmt mit mehreren Klassen überein Das folge...
Inhaltsverzeichnis Objekt.prototype.valueOf() Obj...
Code kopieren Der Code lautet wie folgt: <!DOC...
0. Einleitung 18. August 2016 Heute ist mir aufge...
Hintergrund: Es gibt ein Flask-Projekt, das eine ...
Vorwort Als wir im vorherigen Interviewprozess na...