suchen
HeimDatenbankMySQL-TutorialDetaillierte Erläuterung der Master-Slave-Replikation beim MySQL-Lernen

Dieser Artikel verwendet MySQL5.5 Centos6.5 64-Bit

1 Die Rolle der Master-Slave-Replikation

1. Wenn beim Master-Server ein Problem auftritt, können Sie schnell zum Slave-Server wechseln.

2. Anwendungen mit geringen Echtzeitanforderungen oder seltenen Aktualisierungen können Abfragevorgänge auf dem Slave-Server durchführen, um den Zugriffsdruck auf den Master-Server zu verringern. Trennen Sie das Lesen und Schreiben von Daten, um den Ladeeffekt zu erzielen.

3. Datensicherungsvorgänge können auf dem Slave-Server durchgeführt werden, um Auswirkungen auf den Master-Server während des Sicherungszeitraums zu vermeiden.

Master-Slave-Replikationsprinzip:

Prinzipanalyse: Der Master-Server aktiviert das Binlog-Protokoll und der Slave-Server Verwenden Sie die vom Master-Server gewährten Benutzer, um das vom Master-Server generierte Binlog-Protokoll lokal zu lesen und in ein Relaylog-Protokoll umzuwandeln. Anschließend wird das Relaylog-Protokoll ausgeführt.

2. Richten Sie eine Master-Slave-Replikationsumgebung ein

Master: 192.168.6.224

Slave: 192.168.6.222

1. Legen Sie den autorisierten Benutzer für den Slave-Server im Master-Server fest

Erstellen Sie im Master-Server einen Benutzer mit dem Namen user2 für den Slave-Server 192.168.6.222 und das Passwort lautet 123

mysql> ; grant all on *.* to user2@192.168.6.222, identifiziert durch „123“;

Parametererklärung:

grant:mysqlauthorization keyword

*.*: Alle Datenbanken und alle Tabellen

Überprüfen Sie, ob die Benutzerautorisierung erfolgreich ist:

mysql> show grants for user2@192.168.6.222;

Testen Sie, ob sich Benutzer2 mit Benutzer2 auf dem Slave-Server bei MySQL auf dem Master-Server anmelden kann

[root@localhost tmp]# mysql -user2 -p123 test -h192.168.6.224;

2. Öffnen Sie das Bin-Log-Protokoll des Hauptservers und legen Sie den Wert fest der Server-ID.

Ändern Sie die my.cnf-Konfigurationsdatei des Masterservers:

[mysqld]
#开启mysql的bin-log日志
log-bin=mysql-bin
#主服务器该值设置为1
server-id    = 1

3. Setzen Sie das Bin-Log-Protokoll zurück: mysql> reset master;

Überprüfen Sie den neuesten Bin-Log-Protokollstatus, um zu sehen, ob er sich an der Startposition befindet: mysql> show master status;

mysql> show master status;
+------------------+----------+--------------+------------------+
| 
File
             | 
Position
 | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000
001
 |      107 |              |                  |
+------------------+----------+--------------+------------------+

Sichern Sie die Master-Datenbankdaten

a. Daten sichern

b. Bin-Log-Protokoll aktualisieren

Hier verwenden wir die mysqldump-Methode, um die Daten zu sichern und verwenden das -l - F-Parameter zum direkten Setzen der Lesesperre beim Sichern der Daten.

mysqldump -uroot -p111111 test -l -F > '/tmp/mysql_back/test.sql';

5. Sichern Sie den Hauptserver. Daten werden an den Slave-Server gesendet.  [root@localhost tmp]# scp mysql_back/test.sql 192.168.6.222:/tmp/ mysql_back/

6. Slave-Bin-Log-Protokoll auf dem Server zurücksetzen und die gesicherten Daten im Slave-Server verwenden

mysql>

[root@localhost tmp]# mysql -uroot -p111111 test - v -f/mysql_back/test.sql;

7. Konfigurieren Sie die my.cnf-Parameter im Slave Server

a. #Konfigurieren Sie den Slave-Server server-id =2 (Wenn es mehrere Slave-Server gibt, haben sie alle eine eindeutige Server-ID)  server-id = 2

 b. #Bin-Log-Protokoll aktivieren
 log-bin=mysql-bin

 c.#Konfigurieren Sie den Host, den Benutzernamen, das Passwort und die Portnummer, die synchronisiert werden müssen


 d. Starten Sie MySQL neu, damit die Konfigurationsdatei wirksam wird

#配置需要同步的主机
 master-host     =   192.168.6.224
# The username the slave will use for authentication when connecting
# to the master - required
 master-user     =   user2
#
# The password the slave will authenticate with when connecting to
# the master - required
 master-password =   123
#
# The port the master is listening on.
# optional - defaults to 3306
 master-port     =  3306
 [root@localhost tmp]# service mysqld restart

Wenn Sie nicht können Starten Sie den MySQL-Server neu, indem Sie die Methode ändern. Sie können die folgende Methode verwenden

8. Überprüfen Sie den Slave-Status
mysql> change master to master_host="192.168.6.224",
master_user="user2",
master_password="123",
master_port=3306,
master_log_file="mysql-bin.000002",master_log_pos=107;
mysql> slave start;

Master_Log_File: stellt den Namen dar der Protokolldatei, die für die Master-Slave-Synchronisierung auf dem Host verwendet wird,

mysql . row  master .bin.relaybin.bin.
Read_Master_Log_Pos: stellt die Position in der Protokolldatei dar, die das letzte Mal erfolgreich synchronisiert wurde.

Wenn diese beiden Elemente nicht mit den zuvor auf dem Hauptserver angezeigten Werten für Datei und Position übereinstimmen, kann die Synchronisierung nicht korrekt durchgeführt werden.

3. Test

1. Fügen Sie Daten zum Master-Server hinzu und überprüfen Sie den Bin-Log-Protokollstatus

2. Überprüfen Sie den Slave-Synchronisierungsstatus
mysql> insert into t1 values(13);
Query OK, 1 row affected (0.02 sec)

mysql> insert into t1 values(14);
Query OK, 1 row affected (0.01 sec)

mysql> insert into t1 values(15);
Query OK, 1 row affected (0.01 sec)

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      656 |              |                  |
+------------------+----------+--------------+------------------+

Hier können Sie sehen, dass die Position des Master-Servers und der Read_Master_Log_Pos-Wert des Slave-Servers gleich sind und Slave_IO_Running und Slave_SQL_Running Werte sind beide Ja. Auf diese Weise ist die Master-Slave-Konfiguration von MySQL erfolgreich.

mysql> show slave status
\G;*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.6.224
                  Master_User: user2
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 656
               Relay_Log_File: localhost-relay-bin.000002
                Relay_Log_Pos: 802
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

4. Allgemeine Befehle für die Master-Slave-Replikation

1. Slave starten #Replikationsthread starten

2. Slave stoppen #Replikation stoppen Thread

3. Slave-Status anzeigen

4. Bin-Log-Protokolle der Master-Datenbank anzeigen

5 um #dynamisch zur Hauptserverkonfiguration zu wechseln

6. Prozessliste anzeigen;#Den laufenden Prozess der Slave-Datenbank anzeigen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Master-Slave-Replikation beim MySQL-Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie wirkt sich die MySQL -Kardinalität auf die Abfrageleistung aus?Wie wirkt sich die MySQL -Kardinalität auf die Abfrageleistung aus?Apr 14, 2025 am 12:18 AM

Die MySQL -Idium -Kardinalität hat einen signifikanten Einfluss auf die Abfrageleistung: 1. Hoher Kardinalitätsindex kann den Datenbereich effektiver einschränken und die Effizienz der Abfrage verbessern. 2. Niedriger Kardinalitätsindex kann zu einem vollständigen Tischscannen führen und die Abfrageleistung verringern. 3. Im gemeinsamen Index sollten hohe Kardinalitätssequenzen vorne platziert werden, um die Abfrage zu optimieren.

MySQL: Ressourcen und Tutorials für neue BenutzerMySQL: Ressourcen und Tutorials für neue BenutzerApr 14, 2025 am 12:16 AM

Der MySQL -Lernpfad umfasst Grundkenntnisse, Kernkonzepte, Verwendungsbeispiele und Optimierungstechniken. 1) Verstehen Sie grundlegende Konzepte wie Tabellen, Zeilen, Spalten und SQL -Abfragen. 2) Lernen Sie die Definition, die Arbeitsprinzipien und die Vorteile von MySQL kennen. 3) Master grundlegende CRUD -Operationen und fortgeschrittene Nutzung wie Indizes und gespeicherte Verfahren. 4) KON -Debugging- und Leistungsoptimierungsvorschläge, wie z. B. rationale Verwendung von Indizes und Optimierungsabfragen. In diesen Schritten haben Sie einen vollen Verständnis für die Verwendung und Optimierung von MySQL.

Reale MySQL: Beispiele und AnwendungsfälleReale MySQL: Beispiele und AnwendungsfälleApr 14, 2025 am 12:15 AM

Die realen Anwendungen von MySQL umfassen grundlegende Datenbankdesign und komplexe Abfrageoptimierung. 1) Grundnutzung: Wird zum Speichern und Verwalten von Benutzerdaten verwendet, z. B. das Einfügen, Abfragen, Aktualisieren und Löschen von Benutzerinformationen. 2) Fortgeschrittene Nutzung: Verwandte komplexe Geschäftslogik wie Auftrags- und Bestandsverwaltung von E-Commerce-Plattformen. 3) Leistungsoptimierung: Verbesserung der Leistung durch rationale Verwendung von Indizes, Partitionstabellen und Abfrage -Caches.

SQL -Befehle in MySQL: Praktische BeispieleSQL -Befehle in MySQL: Praktische BeispieleApr 14, 2025 am 12:09 AM

SQL -Befehle in MySQL können in Kategorien wie DDL, DML, DQL und DCL unterteilt werden und werden verwendet, um Datenbanken und Tabellen zu erstellen, zu ändern, zu löschen, Daten einfügen, aktualisieren, Daten löschen und komplexe Abfragebetriebe durchführen. 1. Die grundlegende Verwendung umfasst die Erstellungstabelle erstellbar, InsertInto -Daten einfügen und Abfragedaten auswählen. 2. Die erweiterte Verwendung umfasst die Zusammenarbeit mit Tabellenverbindungen, Unterabfragen und GroupBy für die Datenaggregation. 3.. Häufige Fehler wie Syntaxfehler, Datentyp -Nichtübereinstimmung und Berechtigungsprobleme können durch Syntaxprüfung, Datentypkonvertierung und Berechtigungsmanagement debuggen. 4. Vorschläge zur Leistungsoptimierung umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verwendung von Transaktionen, um die Datenkonsistenz sicherzustellen.

Wie geht InnoDB mit der Einhaltung der Säure um?Wie geht InnoDB mit der Einhaltung der Säure um?Apr 14, 2025 am 12:03 AM

InnoDB erreicht Atomizität durch Ungewöhnung, Konsistenz und Isolation durch Verriegelungsmechanismus und MVCC sowie Persistenz durch Redolog. 1) Atomizität: Verwenden Sie Unolog, um die Originaldaten aufzuzeichnen, um sicherzustellen, dass die Transaktion zurückgerollt werden kann. 2) Konsistenz: Stellen Sie die Datenkonsistenz durch Verriegelung auf Zeilenebene und MVCC sicher. 3) Isolierung: Unterstützt mehrere Isolationsniveaus und wird standardmäßig WiederholungSead verwendet. 4) Persistenz: Verwenden Sie Redolog, um Modifikationen aufzuzeichnen, um sicherzustellen, dass die Daten für lange Zeit gespeichert werden.

Mysqls Platz: Datenbanken und ProgrammierungMysqls Platz: Datenbanken und ProgrammierungApr 13, 2025 am 12:18 AM

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL: Von kleinen Unternehmen bis zu großen UnternehmenMySQL: Von kleinen Unternehmen bis zu großen UnternehmenApr 13, 2025 am 12:17 AM

MySQL ist für kleine und große Unternehmen geeignet. 1) Kleinunternehmen können MySQL für das grundlegende Datenmanagement verwenden, z. B. das Speichern von Kundeninformationen. 2) Große Unternehmen können MySQL verwenden, um massive Daten und komplexe Geschäftslogik zu verarbeiten, um die Abfrageleistung und die Transaktionsverarbeitung zu optimieren.

Was liest Phantom und wie verhindert InnoDB sie (Sperren des nächsten Schlägers)?Was liest Phantom und wie verhindert InnoDB sie (Sperren des nächsten Schlägers)?Apr 13, 2025 am 12:16 AM

InnoDB verhindert effektiv das Phantom-Lesen durch den Mechanismus für den nächsten Kleien. 1) Nächstschlüsselmesser kombiniert Zeilensperr- und Gap-Sperre, um Datensätze und deren Lücken zu sperren, um zu verhindern, dass neue Datensätze eingefügt werden. 2) In praktischen Anwendungen kann durch Optimierung der Abfragen und Anpassung der Isolationsstufen die Verringerungswettbewerb reduziert und die Gleichzeitleistung verbessert werden.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung