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
Inhaltsverzeichnis 1 Element Offset-Serie 1.1 Off...
Aufgetroffene Fallstricke Ich habe den ganzen Nac...
verwenden <div id="app"> <rout...
Der Grund ist dieser Ich wollte eine Mocker-Platt...
Einstellungen für Hintergrundfarbe und Transparen...
Inhaltsverzeichnis 1. Ref und reaktiv 1. reaktiv ...
Da für den Import benutzerdefinierter Ubuntu-Imag...
Vorne geschrieben Ich habe kürzlich ein spezielle...
Inhaltsverzeichnis 1. Was ist Set 2. Konstruktor ...
Optimieren Sie die FastCGI-Konfigurationsdatei fc...
Überprüfen Sie die Python-Version mit python -V. ...
v-model ist eine Vue-Direktive, die eine bidirek...
1. Melden Sie sich bei MySQL an: mysql -u root -h...
1. Laden Sie mysql-8.0.15 herunter, installieren ...
Docker-Funktionen 1) Schneller Einstieg Benutzer ...