Detaillierte Erläuterung der MySQL-Protokoll- und Sicherungs- und Wiederherstellungsprobleme

Detaillierte Erläuterung der MySQL-Protokoll- und Sicherungs- und Wiederherstellungsprobleme

In diesem Artikel werden MySQL-Protokolle sowie Backups und Wiederherstellungen zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

1. Fehlerprotokoll

Wenn die Datenbank ausfällt und nicht verwendet werden kann, überprüfen Sie zuerst das Protokoll.

1. Informationen beim Starten und Herunterfahren des Servers

2. Fehlerinformationen beim Serverbetrieb

Der Protokollspeicherpfad kann mit dem folgenden Befehl angezeigt werden:

Benennungsformat der Protokolldatei: host_name.err

2. Binäres Protokoll

Es wird auch als BINLOG bezeichnet und zeichnet alle DDL- und DML-Anweisungen mit Ausnahme von Abfrageanweisungen auf. Dieses Protokoll ist nicht nur sehr wichtig, sondern gefällt mir als Entwickler auch sehr gut. Wie aus der Definition ersichtlich, zeichnet dieses Protokoll alle Ereignisse auf, die die Tabellenstruktur und die Tabellendaten ändern. Wenn die Daten also versehentlich gelöscht werden oder aus anderen Gründen verloren gehen, können wir sie über dieses Protokoll wiederherstellen. Findest du es nicht cool?

Protokollspeicherpfad: im selben Verzeichnis wie das Fehlerprotokoll

Benennungsmethode: Die Standardmethode ist Hostname-Bin + Nummer

Jedes Mal, wenn MySQL das Protokoll startet oder leert, wird ein neues Binärprotokoll generiert und die Nummerierung beginnt bei 1 und steigt an. Wenn ein einzelnes Protokoll eine bestimmte Größe erreicht, wird eine neue Datei generiert.

1. Schalten Sie den Schalter zum Aufzeichnen des Binlogs ein

Im Installationsverzeichnis von myslq gibt es eine Konfigurationsdatei: my.ini

innodb_buffer_pool_size=107M

# Größe jeder Protokolldatei in einer Protokollgruppe. Sie sollten die kombinierte Größe festlegen
Anzahl der Protokolldateien auf etwa 25 % bis 100 % der Größe Ihres Pufferpools, um Folgendes zu vermeiden:
# unnötige Pufferpool-Flush-Aktivität beim Überschreiben von Protokolldateien.
# Beachten Sie, dass eine größere Protokolldatei die für die
# Wiederherstellungsprozess.
innodb_log_file_size=54M

# Anzahl der Threads, die im InnoDB-Kernel erlaubt sind. Der optimale Wert
# hängt stark von der Anwendung, der Hardware sowie dem Betriebssystem ab
# Scheduler-Eigenschaften. Ein zu hoher Wert kann zu Thread-Thrashing führen.
innodb_thread_concurency=10

log-bin=mysql-bin

log-bin gibt an, dass der Schalter eingeschaltet ist, und mysql-bin ist das Präfix des Protokollnamens.

2. So zeigen Sie BINLOG an

Da es sich um eine Binärdatei handelt, kann sie nicht direkt wie ein Fehlerprotokoll angezeigt werden. Sie müssen das von MySQL bereitgestellte Tool verwenden: mysqlbinlog

3. BINLOG nach Zeit anzeigen

Bei Abfragen nach Zeit ist zu beachten, dass Startdatum und -zeit ein geschlossenes Intervall und Stoppdatum und -zeit ein offenes Intervall sind. Wenn Sie also das gesamte Tagesprotokoll abfragen müssen, müssen Sie es wie folgt definieren:
--start-datetime="2017/07/12 00:00:00" --stop-datetime="2017/07/13 00:00:00": Der Abfragezeitraum ist 12.07. 00:00:00 - 12.07. 24:59:59

3. Datensicherung

Bei der Datensicherung wird tatsächlich das von msyql bereitgestellte Tool mysqldump verwendet, um Daten in einer angegebenen Datei in einem angegebenen Verzeichnis zu sichern.

1. Sichern Sie die angegebene Datenbank oder einige Tabellen in der Datenbank

mysqldump 【Option】 db_name 【Tabellennamen】

2. Sichern Sie eine oder mehrere angegebene Datenbanken

mysqldump 【Option】 --database db_name1 db_name2

3. Sichern Sie alle Datenbanken

mysqldump [Option] -all -databases

Exportieren Sie die Tabellenstruktur und Tabellendaten in der Datenbank wd_msg in der Datenbankinstanz mit Port 3306 in die Datei cd.sql

Der Inhalt der Datei cd.sql ist wie folgt:

Diese Datei zeichnet DML-Anweisungen und DDL-Anweisungen auf, ausgenommen abfragebezogene Vorgänge. Beim Wiederherstellen von Daten können diese Anweisungen nacheinander ausgeführt werden, um die Datenwiederherstellung abzuschließen.

4. Datenwiederherstellung

Wir löschen die Tabelle und importieren die eben exportierten Daten erneut:

Das folgende Szenario dient der Wiederherstellung der wd_msg-Datenbank in einer anderen MySQL-Instanz mit Port 3307 auf demselben Server.

MySQL-Sicherung und -Wiederherstellung bietet für verschiedene Szenarien unterschiedliche Optionen. Dies ist nur eines der hier vorgestellten Konzepte. Später wird es Artikel geben, die es ausführlich vorstellen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Anweisungen zum Sichern und Wiederherstellen von mysqldump sowie zum Importieren und Exportieren von mysqldump
  • PHP-Code zum Sichern/Wiederherstellen einer MySQL-Datenbank
  • Empfohlene Methoden zur Sicherung und Wiederherstellung von MySQL-Datenbanken
  • Zusammenfassung gängiger Befehle zum Sichern und Wiederherstellen von MySQL-Datenbanken
  • Tutorial zur Verwendung von innobackupex und xtrabackup zum Sichern und Wiederherstellen großer Datenmengen in MySQL
  • Detaillierte Erläuterung der MySQL-Sicherung und -Wiederherstellung (PHP-Implementierung)
  • Zusammenfassung der Anweisungen zum Sichern und Wiederherstellen einer MySQL-Datenbank im Befehlszeilenmodus
  • MySQL verwendet Befehle zum Sichern und Wiederherstellen der Datenbank
  • Wo befindet sich die MySQL-Protokolldatei? So ändern Sie den Speicherort der MySQL-Protokolldatei
  • MySQL verfolgt die ausgeführten SQL-Anweisungen durch Anzeigen des Ablaufverfolgungsprotokolls

<<:  Häufige Verwendung von Hooks in React

>>:  Detaillierte Erklärung, wie Sie das automatische Beenden des Docker-Containers verhindern können

Artikel empfehlen

So analysieren Sie den SQL-Ausführungsplan in MySQL mit EXPLAIN

Vorwort In MySQL können wir den Befehl EXPLAIN ve...

Lösung für die Inkonsistenz zwischen Crontab-Ausführungszeit und Systemzeit

Vorwort Unter LINUX werden periodische Aufgaben n...

Das Linux-System verbietet den Remote-Login-Befehl des Root-Kontos

PS: So deaktivieren Sie die Remote-Anmeldung des ...

Vue implementiert die Bildfrequenzwiedergabe des Karussells

In diesem Artikelbeispiel wird der spezifische Co...

So gestalten Sie das Frontend einer Website elegant und attraktiv für Benutzer

Das Temperament einer Web-Frontend-Website ist ein...

So verwenden Sie Indizes zur Optimierung von MySQL ORDER BY-Anweisungen

Tabelle erstellen und Index erstellen Tabelle tbl...

Analyse des Prinzips und der Verwendung der kontinuierlichen MySQL-Aggregation

Dieser Artikel veranschaulicht anhand von Beispie...

Lösen Sie das Problem, dass Docker Pull zurückgesetzt wird

In diesem Artikel wird beschrieben, wie Sie das P...

So erstellen Sie eine PHP+Nginx+Swoole+MySQL+Redis-Umgebung mit Docker

Betriebssystem: Alibaba Cloud ESC-Instanz centos7...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.11 (Win10)

In diesem Artikel werden die Installations- und K...

Mysql implementiert drei Funktionen zum Feldspleißen

Beim Exportieren von Daten in Operationen ist das...

Verwenden Sie CSS, um zwischen dem Dunkelmodus und dem Hellmodus zu wechseln

In der fünften Ausgabe von Web Skills wird ausdrü...