Binärprotokoll der Hauptbibliothek: # bei 2420 #170809 17:16:20 Server-ID 1882073306 end_log_pos 2451 CRC32 0x58f2db87 Xid = 32880 BEGEHEN /*!*/; # bei 2451 #170814 11:07:18 Server-ID 1882073306 end_log_pos 2528 CRC32 0x40774a4b Abfrage Thread_ID=92 Exec_Time=0 Fehlercode=0 ZEITSTEMPEL FESTLEGEN=1502680038/*!*/; BEGINNEN /*!*/; # bei 2528 # bei 2560 #170814 11:07:18 Server-ID 1882073306 end_log_pos 2560 CRC32 0x7bdf274b Intvar SETZEN SIE INSERT_ID=107/*!*/; #170814 11:07:18 Server-ID 1882073306 end_log_pos 2669 CRC32 0x68e441c8 Abfrage Thread_ID = 92 Exec_Time = 0 Fehlercode = 0 ZEITSTEMPEL FESTLEGEN=1502680038/*!*/; in t2 (Name) Werte einfügen ('a100') /*!*/; # bei 2669 # bei 2701 #170814 11:07:27 Server-ID 1882073306 end_log_pos 2701 CRC32 0xcf89b910 Intvar SETZEN SIE INSERT_ID=108/*!*/; #170814 11:07:27 Server-ID 1882073306 End-Log-Pos 2810 CRC32 0x78466d7b Abfrage Thread-ID = 92 Exec-Zeit = 0 Fehlercode = 0 ZEITSTEMPEL EINSTELLEN=1502680047/*!*/; in t2 (Name) Werte einfügen ('a200') /*!*/; # bei 2810 # bei 2842 #170814 11:07:30 Server-ID 1882073306 end_log_pos 2842 CRC32 0x1e5a0847 Intvar SETZEN SIE INSERT_ID=109/*!*/; #170814 11:07:30 Server-ID 1882073306 end_log_pos 2951 CRC32 0xebeb947c Abfrage Thread_ID=92 Exec_Time=0 Fehlercode=0 ZEITSTEMPEL EINSTELLEN=1502680050/*!*/; in t2 (Name) Werte einfügen ('a300') /*!*/; # bei 2951 #170814 11:07:34 Server-ID 1882073306 end_log_pos 2982 CRC32 0x6436ad60 Xid = 32934 BEGEHEN /*!*/; Aus dem Relay-Protokoll der Bibliothek: /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!40019 SETZEN @@session.max_insert_delayed_threads=0*/; /*!50003 SETZEN @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; TRENNUNGSZEICHEN /*!*/; # bei 4 #170809 17:17:24 Server-ID 1882083306 end_log_pos 120 CRC32 0x5df4221c Start: Binlog v 4, Server v 5.6.23-72.1-Log erstellt 170809 17:17:24 # bei 120 #700101 8:00:00 Server-ID 1882073306 end_log_pos 0 CRC32 0x0b8a412f Rotieren zu test-mysql-bin.000116 pos: 2451 # bei 172 #170809 16:28:12 Server-ID 1882073306 end_log_pos 0 CRC32 0xd0d3bf30 Start: Binlog v 4, Server v 5.6.23-72.1-Log erstellt 170809 16:28:12 # bei 288 #170814 11:07:18 Server-ID 1882073306 end_log_pos 2528 CRC32 0x40774a4b Abfrage Thread_ID=92 Exec_Time=0 Fehlercode=0 ZEITSTEMPEL FESTLEGEN=1502680038/*!*/; SET @@session.pseudo_thread_id=92/*!*/; SETZEN Sie @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; SETZEN Sie @@session.sql_mode=1073741824/*!*/; SETZEN Sie @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; /*!\C utf8 *//*!*/; SETZEN @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/; SETZEN @@session.lc_time_names=0/*!*/; SET @@session.collation_database=DEFAULT/*!*/; BEGINNEN /*!*/; # bei 365 # bei 397 #170814 11:07:18 Server-ID 1882073306 end_log_pos 2560 CRC32 0x7bdf274b Intvar SETZEN SIE INSERT_ID=107/*!*/; #170814 11:07:18 Server-ID 1882073306 end_log_pos 2669 CRC32 0x68e441c8 Abfrage Thread_ID = 92 Exec_Time = 0 Fehlercode = 0 verwende `db1`/*!*/; ZEITSTEMPEL FESTLEGEN=1502680038/*!*/; in t2 (Name) Werte einfügen ('a100') /*!*/; # bei 506 # bei 538 #170814 11:07:27 Server-ID 1882073306 end_log_pos 2701 CRC32 0xcf89b910 Intvar SETZEN SIE INSERT_ID=108/*!*/; #170814 11:07:27 Server-ID 1882073306 End-Log-Pos 2810 CRC32 0x78466d7b Abfrage Thread-ID = 92 Exec-Zeit = 0 Fehlercode = 0 ZEITSTEMPEL EINSTELLEN=1502680047/*!*/; in t2 (Name) Werte einfügen ('a200') /*!*/; # bei 647 # bei 679 #170814 11:07:30 Server-ID 1882073306 end_log_pos 2842 CRC32 0x1e5a0847 Intvar SETZEN SIE INSERT_ID=109/*!*/; #170814 11:07:30 Server-ID 1882073306 end_log_pos 2951 CRC32 0xebeb947c Abfrage Thread_ID=92 Exec_Time=0 Fehlercode=0 ZEITSTEMPEL EINSTELLEN=1502680050/*!*/; in t2 (Name) Werte einfügen ('a300') /*!*/; # bei 788 #170814 11:07:34 Server-ID 1882073306 end_log_pos 2982 CRC32 0x6436ad60 Xid = 32934 BEGEHEN /*!*/; Beachten Sie diese Zeile im Relay-Protokoll: #700101 8:00:00 Server-ID 1882073306 end_log_pos 0 CRC32 0x0b8a412f Rotieren zu test-mysql-bin.000116 pos: 2451 Dies zeigt an, dass das Relay-Protokoll die Informationen der Hauptdatenbank test-mysql-bin.000116 ab Position 2451 speichert. Schauen wir uns eine konkrete Korrespondenz an: Das Binlog der Hauptbibliothek lautet wie folgt: # bei 2560 #170814 11:07:18 Server-ID 1882073306 end_log_pos 2560 CRC32 0x7bdf274b Intvar SETZEN SIE INSERT_ID=107/*!*/; #170814 11:07:18 Server-ID 1882073306 end_log_pos 2669 CRC32 0x68e441c8 Abfrage Thread_ID = 92 Exec_Time = 0 Fehlercode = 0 ZEITSTEMPEL FESTLEGEN=1502680038/*!*/; in t2 (Name) Werte einfügen ('a100') /*!*/; # bei 2669 Das entsprechende Relay-Log der Slave-Bibliothek enthält die folgenden Zeilen: # bei 397 #170814 11:07:18 Server-ID 1882073306 end_log_pos 2560 CRC32 0x7bdf274b Intvar SETZEN SIE INSERT_ID=107/*!*/; #170814 11:07:18 Server-ID 1882073306 end_log_pos 2669 CRC32 0x68e441c8 Abfrage Thread_ID = 92 Exec_Time = 0 Fehlercode = 0 verwende `db1`/*!*/; ZEITSTEMPEL FESTLEGEN=1502680038/*!*/; in t2 (Name) Werte einfügen ('a100') /*!*/; # bei 506 Beachten Sie auch die Beziehung zwischen den folgenden Zeilen von show slave status\G: Master_Log_File: test-mysql-bin.000117 Read_Master_Log_Pos: 774 Die beiden Zeilen oben repräsentieren IO-Threads relativ zur Hauptbibliothek Relay-Log-Datei: relay-log.000038 Relay_Log_Pos: 723 Die beiden Zeilen oben stellen den SQL-Thread relativ zur Slave-Bibliothek dar Relay_Master_Log_File: test-mysql-bin.000117 Exec_Master_Log_Pos: 555 Die beiden Zeilen oben stellen den SQL-Thread relativ zur Hauptbibliothek dar Die SQL-Anweisungen entsprechend Relay_Log_Pos: 723 und Exec_Master_Log_Pos: 555 sind konsistent. Zusammenfassen Das Obige ist der gesamte Inhalt dieses Artikels zur detaillierten Code-Erklärung der Beziehung zwischen dem Binlog der MySQL-Masterbibliothek und dem Relay-Log der Slavebibliothek. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können sich auf Folgendes beziehen: Detaillierte Analyse des Binlog_Format-Modus und der Konfiguration in MySQL, mehrere wichtige MySQL-Variablen, detaillierte Erklärung des MySQL-Vorbereitungsprinzips usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen. Jeder ist herzlich eingeladen, zu kommunizieren und zu diskutieren. Das könnte Sie auch interessieren:
|
<<: JS implementiert einfachen Beispielcode zur Steuerung der Videowiedergabegeschwindigkeit
>>: So blockieren und verbieten Sie Webcrawler im Nginx-Server
1. Hintergrund Wir führen von Zeit zu Zeit intern...
Vorwort Ich habe vor Kurzem Linux gelernt und dan...
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis Übergeordnete Komponente „list...
Inhaltsverzeichnis 1. Die Richtung davon in der F...
Reagieren Sie auf mehrere Arten, um den Wert des ...
p>Manuell in "Dienste" starten und e...
Schauen wir uns zunächst das Bild an: Heute werde...
Dieser Artikel beschreibt anhand eines Beispiels ...
Inhaltsverzeichnis 1. Szenario 2. Lösung 3. Fazit...
Inhaltsverzeichnis Filter 01.Was ist 02. Wie es g...
1. Laden Sie das Zip-Installationspaket herunter ...
Beim Installieren einer virtuellen Maschine wird ...
So ermöglichen Sie Tomcat die Unterstützung des h...
Umfeld Name Eigentum CPU x5650 Erinnerung 4G Sche...