Detaillierte Analyse des Kopierens in MySQL
Dieser Artikel führt hauptsächlich die detaillierte Analyse der Replikation in MySQL ein. Er stellt die grundlegenden Konzepte, Verwendungen, Implementierungsmethoden und zentralisierten Modi vor und teilt dann den spezifischen Implementierungscode, der einen gewissen Referenzwert hat .
1.MySQL-Replikationskonzept
bezieht sich auf die Übertragung der DDL- und DML-Vorgänge der Primärdatenbank an den Replikationsserver über das Binärprotokoll und die anschließende Übertragung Diese Protokolldateien werden erneut ausgeführt, sodass die Daten auf dem Replikat- und Masterserver synchron bleiben. Während des Replikationsprozesses fungiert ein Server als Master und ein oder mehrere andere Server fungieren als Slaves. Der Master schreibt Aktualisierungen in binäre Protokolldateien um und verwaltet einen Index der Dateien, um die Protokollrotation zu verfolgen. Diese Protokolle zeichnen Aktualisierungen auf, die an Slave-Server gesendet werden. Wenn ein Slave eine Verbindung zum Master herstellt, benachrichtigt er den Master über den Ort der letzten erfolgreichen Aktualisierung, die der Slave im Protokoll gelesen hat. Der Slave akzeptiert alle seitdem erfolgten Aktualisierungen, blockiert dann und wartet darauf, dass der Master über neue Aktualisierungen benachrichtigt wird.
2. Zweck der Replikation
Synchronisieren Sie Daten durch Master-Slave-Replikation und trennen Sie dann Lesen und Schreiben (MySQL-Proxy), um sie zu verbessern die gleichzeitige Ladekapazität der Datenbank oder kann als Primär- und Backup-Maschine verwendet werden, um sicherzustellen, dass die Anwendung auf die Backup-Maschine umgeschaltet werden kann, um in kurzer Zeit weiter ausgeführt zu werden, nachdem der Host nicht mehr reagiert.
Vorteile:
(1) Das Datenbankclustersystem verfügt über mehrere Datenbankknoten. Im Falle eines Ausfalls eines einzelnen Knotens sind andere normale Knoten vorhanden Dienstleistungen können weiterhin erbracht werden.
(2) Wenn auf dem Master-Server ein Problem auftritt, können Sie zum Slave-Server wechseln
(3) Abfragevorgänge können durch Replikation auf dem Slave-Server ausgeführt werden, wodurch der Zugriffsdruck auf den Master-Server verringert wird Erreicht Datenverteilung und Lastausgleich
(4) Die Sicherung kann auf dem Slave-Server durchgeführt werden, um eine Beeinträchtigung des Dienstes des Master-Servers während der Sicherung zu vermeiden.
3. Implementierung der Replikation (3 Methoden)
(1) DRBD ist eine softwarebasierte, nicht gemeinsam genutzte Speicherreplikationslösung zum Spiegeln von Blockgeräteinhalten zwischen Servern.
(2) MySQL-Cluster (auch als MySQL-Cluster bekannt). Die MySQL-Replikation (Replikation) selbst ist eine relativ einfache Struktur, das heißt, ein Slave-Server (Slave) liest das Binärprotokoll von einem Master-Server (Master), analysiert es und wendet es auf sich selbst an.
(3) Eine einfache Replikationsumgebung erfordert nur zwei Hosts, auf denen MySQL ausgeführt wird, und Sie können sogar zwei MySQL-Instanzen auf einem physischen Server-Host starten. Einer dient als Master und der andere als Slave, um die Konfiguration der Replikationsumgebung abzuschließen. In tatsächlichen Anwendungsumgebungen können Sie jedoch die MySQL-Replikationsfunktion verwenden, um andere Replikationsarchitekturen zu erstellen, die sich besser für die Erweiterung gemäß den tatsächlichen Geschäftsanforderungen eignen, z. B. die am häufigsten verwendete Master-Slave-Architektur.
Die Master-Slave-Architektur bezieht sich auf die Verwendung eines MySQL-Servers als Master, eines oder mehrerer MySQL-Server als Slave und das Kopieren der Daten des Masters auf den Slave. In praktischen Anwendungen wird der Master-Slave-Architekturmodus am häufigsten für die MySQL-Replikation verwendet. Im Allgemeinen werden bei dieser Architektur die Schreibvorgänge des Systems im Master ausgeführt, während die Lesevorgänge auf verschiedene Slaves verteilt werden. Daher eignet sich diese Architektur besonders für die hohen Lese- und Schreibprobleme des aktuellen Internets.
Der MySQL-Datenbankreplikationsvorgang ist grob in die folgenden Schritte unterteilt:
(1) Der Master aktiviert Binärprotokolle. Der Vorgang zum Aktivieren von Binärprotokollen wird ausführlich in Protokollverwaltung beschrieben.
(2) Der E/A-Prozess auf dem Slave stellt eine Verbindung zum Master her und fordert den Protokollinhalt von der angegebenen Position der angegebenen Protokolldatei (oder vom Anfang des Protokolls) an.
(3) Nach Erhalt der E/A-Prozessanforderung vom Slave liest der Master die Protokollinformationen nach der angegebenen Position des angegebenen Protokolls gemäß den Anforderungsinformationen über den für die Replikation verantwortlichen E/A-Prozess und gibt sie zurück zum I/O des Slaves. Zusätzlich zu den im Protokoll enthaltenen Informationen umfassen die zurückgegebenen Informationen auch den Namen der Bin-Log-Datei und den Speicherort des Bin-Logs, in dem die zurückgegebenen Informationen an den Master gesendet wurden.
(4) Nach dem Empfang der Informationen fügt der E/A-Prozess des Slaves den empfangenen Protokollinhalt am Ende der Relay-Log-Datei auf der Slave-Seite hinzu und fügt den Dateinamen und den Namen der Bin-Log-Datei hinzu der Master-Seite gelesen Der Standort wird in der Master-Info-Datei aufgezeichnet.
(5) Nachdem der SQL-Prozess des Slave den neuen Inhalt im Relay-Log erkannt hat, analysiert er sofort den Inhalt des Relay-Logs und führt ihn selbstständig aus.
4. Zentralisierter Modus der MySQL-Replikation
In Versionen nach MySQL5.1 ist die Verbesserung der Replikation die Einführung einer neuen Replikationstechnologie - Zeilenbasierte Replikation. Diese Technologie konzentriert sich auf die Datensätze, die sich in der Tabelle geändert haben, anstatt den vorherigen Binlog-Modus zu kopieren. Ab mysql5.1.12 können die folgenden drei Modi verwendet werden, um dies zu erreichen.
(1) Anweisungsbasierte Replikation (sbr)
(2) Zeilenbasierte Replikation (rbr)
(3) Mixed-Mode-Replikation (mbr)
Dementsprechend gibt es drei Formate von Binlog: Anweisung, Zeile und gemischt. Im Mbr-Modus ist der SBR-Modus die Standardeinstellung. Das Format von binlog kann zur Laufzeit dynamisch geändert werden. Die Methode zum Festlegen des Master-Slave-Replikationsmodus ist sehr einfach. Fügen Sie einfach einen weiteren Parameter basierend auf der zuvor festgelegten Replikationskonfiguration hinzu:
binlog_format=”statement” #binlog_format=”row” #binlog_format=”mixed”
Natürlich können Sie das Binlog-Format auch zur Laufzeit dynamisch ändern
Mysql> set session binlog_format=”statement”
5 .Master-Server-Betrieb steuern
Master: 192.168.11.139
Slave: 192.168.11.130
(1) Master-Server:
mysql> show variables like '%datadir%'; +---------------+--------------------------+ | Variable_name | Value | +---------------+--------------------------+ | datadir | /application/mysql/data/ | +---------------+--------------------------+
Binärprotokollierung auf dem Masterserver aktivieren:
mysql> show variables like 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | OFF | +---------------+-------+ row in set (0.00 sec)
AUS bedeutet, dass das Binärprotokoll ausgeschaltet ist
3 Schritte zum Öffnen des Protokolls:
① Öffnen Sie das MySQL-Installationsverzeichnis/my.cnf
②Suchen Sie die Bezeichnung [mysqld]. Fügen Sie in der Zeile unter dieser Bezeichnung die folgende Anweisung hinzu:
log_bin[filename]
In dieser Anweisung gibt log-bin an, dass die Binärdatei geöffnet werden soll; Dateiname ist der Name des Binärprotokolls. Wenn nicht angegeben, ist der Standardwert der Hostname, gefolgt von -bin als Dateiname, der standardmäßig im Verzeichnis datadir gespeichert wird. Geben Sie hier „binary_log“ an. Wenn die Binärdatei nur für die angegebene Datenbank generiert wird, müssen Sie die folgende Anweisung hinzufügen:
Binlog-do-db=db_name(数据库名称)
Wenn es nicht für die angegebene Datenbank generiert wird. Für Binärdateiprotokolle müssen Sie die folgenden Anweisungen hinzufügen
Binlog-ignore-db-db_name(数据库名称)
③ Neustart der MySQL-Dienst. Sie können die Datei „binary_log.numeric number“ im MySQL-Installationsverzeichnis/Datenordner sehen, z. B. „binary_log.00001“. Bei jedem zukünftigen Neustart des MySQL-Dienstes wird die Binärdatei neu generiert und die numerische Nummer im Der Dateiname wird erhöht.
Ändern Sie nach erfolgreichem Booten die MySQL-Konfigurationsdatei my.cnf und legen Sie die Server-ID fest. Der Code lautet wie folgt
Server-id=1 Binlog-do-db=xscj Binlog-ignore-db=mysql Server-id=1:每一个数据库服务器都要指定一个唯一的server-id,通常主服务器为1,master和slave的server-id不能相同。 Binlog-do-db:表示需要复制的数据库,这里以xscj为例 Binlog-ignore-db:表示不需要复制的数据库
Erstellen Sie den für die Replikation erforderlichen Benutzer auf dem Master
mysql> grant replication slave on *.* to rep_user@'%'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec mysql> show master status\G *************************** 1. row *************************** File: binary_log.000001 Position: 303 Binlog_Do_DB: Binlog_Ignore_DB: row in set (0.00 sec)
Sichern Sie die Daten des Master-Hosts. Speichern Sie es in der Datei /data/binary_dump.txt und importieren Sie es dann in den Slave-Computer. Die spezifischen Ausführungsanweisungen lauten wie folgt:
[root@localhost bin]# mysqldump -h localhost>/data/binary_dump.txt
(2) Steuern Sie den Betrieb des Slave-Servers
Ändern Sie die Datenbankkonfigurationsdatei des Slave-Servers. Die Konfiguration lautet wie folgt:
Server-id=2 ##设置从服务器id Master-host=192.168.11.129 Master-user=rep_user Master-password= ##设置连接主服务器的密码 Replicate-do-db ##设置你要同步的数据库,可以设置多个 Master-port=<port> ##配置端口号 重启slave,在slave主机的mysql重新执行如下命令,关闭slave服务 Mysql>stop slave; 设置slave实现复制相关的信息,执行如下命令 Mysql>change master to >master_host='', >master_user='', >master_password='', >master_log_file='binary_log.000007', >master_log_pos=120; 输入:show slave status\G用于提供有关从服务器线程的关键参数信息。
Allgemeine Befehle lauten wie folgt
选项 |
功能 |
Slave start |
启动复制线程 |
Slave stop |
停止复制线程 |
Reset slave |
重置复制线程 |
Show slave status |
显示复制线程状态 |
Show slave statusg |
显示复制线程状态(分行显示) |
Show master statusG |
显示主数据库的状态(分行显示) |
Show master logs |
显示主数据库日志 |
Change master to |
动态改变到主数据库的配置 |
Show processlistv |
显示有哪些线程正在运行 |
Funktion
Slave-Start
Das obige ist der detaillierte Inhalt vonDetaillierte Analyse des Kopierens in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

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 wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Eine effektive Überwachung von Redis -Datenbanken ist entscheidend für die Aufrechterhaltung einer optimalen Leistung, die Identifizierung potenzieller Engpässe und die Gewährleistung der Zuverlässigkeit des Gesamtsystems. Redis Exporteur Service ist ein leistungsstarkes Dienstprogramm zur Überwachung von Redis -Datenbanken mithilfe von Prometheus. In diesem Tutorial führt Sie die vollständige Setup und Konfiguration des Redis -Exporteur -Dienstes, um sicherzustellen, dass Sie nahtlos Überwachungslösungen erstellen. Durch das Studium dieses Tutorials erhalten Sie voll funktionsfähige Überwachungseinstellungen

Die Methoden zum Anzeigen von SQL -Datenbankfehlern sind: 1. Fehlermeldungen direkt anzeigen; 2. Verwenden Sie Showfehler und Warnungsbefehle anzeigen; 3.. Greifen Sie auf das Fehlerprotokoll zu. 4. Verwenden Sie Fehlercodes, um die Ursache des Fehlers zu finden. 5. Überprüfen Sie die Datenbankverbindung und die Abfrage -Syntax. 6. Verwenden Sie Debugging -Tools.
