Detaillierte Schritte zum Konfigurieren von mysql8.0.20 mit binlog2sql und einfacher Sicherung und Wiederherstellung

Detaillierte Schritte zum Konfigurieren von mysql8.0.20 mit binlog2sql und einfacher Sicherung und Wiederherstellung

Erster Schritt der Installation

1. MySQL installieren

2. Installieren Sie Python3

[root@localhost /]#yum installiere python3

3. Laden Sie die Datei binlog2sql auf Ihren lokalen Computer herunter (die Datei befindet sich in der Baidu Cloud).

[root@localhost /]#mkdir Werkzeuge
[root@localhost /]#cd tools
[root@localhost-Tools]# ll
insgesamt 317440
-rw-r--r--. 1 root root 317440 21. September 23:55 binlog2sql.tar
[root@localhost-Tools]#tar -xvf binlog2sql.tar
[root@localhost-Tools]#cd binlog2sql
[root@localhost binlog2sql]# ll
insgesamt 52
drwxr-xr-x. 3 mysql mysql 91 13. Juni 08:14 binlog2sql
drwxr-xr-x. 2 mysql mysql 54 Jun 13 07:45 Beispiel
-rw-r--r--. 1 mysql mysql 35141 13. Juni 07:45 LIZENZ
-rw-r--r--. 1 mysql mysql 9514 13. Juni 07:45 README.md
-rw-r--r--. 1 mysql mysql 54 Juni 13 07:45 Anforderungen.txt
drwxr-xr-x. 2 mysql mysql 37 Juni 13 07:45 Tests

4. Ändern Sie requirements.txt in binlog2sql, ändern Sie PyMySQL==0.7.11 in 0.9.3, speichern und beenden Sie

[root@localhost binlog2sql]# vi Anforderungen.txt
PyMySQL==0.9.3
Rad == 0,29,0
MySQL-Replikation == 0,13

5. Installieren Sie und überprüfen Sie, ob es 0.9.3 ist, sonst tritt ein Fehler auf

[root@localhost binlog2sql]# pip3 install -r requirements.txt
[root@localhost binlog2sql]# pip3 zeigt pymysql
Name: PyMySQL
Version: 0.9.3
Zusammenfassung: Reiner Python MySQL-Treiber
Homepage: https://github.com/PyMySQL/PyMySQL/
Autor: yutaka.matsubara
E-Mail des Autors: [email protected]
Lizenz: „MIT“
Ort: /usr/local/lib/python3.6/site-packages
Erfordert:

Schritt 2: MySQL-Daten vorbereiten

1. Am besten fügen Sie das Sicherheitsverzeichnis secure-file-priv=/test zur Konfigurationsdatei hinzu und starten MySQL neu

[root@localhost /]# mkdir test
[root@localhost /]# chown -R mysql.mysql test
[root@localhost mysqldata]#vi my.cnf
secure-file-priv=/test
basedir=/Anwendung/MySQL
Datenverzeichnis=/Daten/MySQL
socket=/data/mysqldata/mysql.sock
log_error=/data/mysqldata/mysql8.0.err
Port = 3306
server_id=6
secure-file-priv=/test
automatisches Commit = 0 
log_bin=/Daten/mysqldata/mysql-bin 
[root@localhost mysqldata]# systemctl start mysqld

Hinweis: Jeder hat einen anderen Konfigurationsdateipfad.

2. MySQL eingeben

Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 11
Serverversion: 8.0.20 MySQL Community Server – GPL

Copyright (c) 2000, 2020, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

mysql> Masterstatus anzeigen\g;
+------------------+----------+--------------+------------------+-------------------+
| Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 156 | | | |
+------------------+----------+--------------+------------------+-------------------+

mysql> Datenbank csdn erstellen;
mysql> verwenden Sie csdn
mysql> in t1 einfügen Werte(1),(2),(3),(4),(5),(6),(7),(8);
mysql> festschreiben;
mysql> update t1 setze id=10, wobei id=1;
mysql> löschen aus t1, wo ID=3;
mysql> festschreiben;

Der dritte Schritt besteht darin, das Verzeichnis binlog2sql zu testen.

[root@localhost binlog2sql]# pwd
/tools/binlog2sql/binlog2sql
[root@localhost binlog2sql]# ll
insgesamt 24
-rwxr-xr-x. 1 mysql mysql 7747 13. Juni 07:45 binlog2sql.py
-rwxr-xr-x. 1 mysql mysql 11581 13. Juni 07:45 binlog2sql_util.py
-rw-r--r--. 1 mysql mysql 92 Juni 13 07:45 __init__.py
drwxr-xr-x. 2 mysql mysql 44 Juni 13 07:50 __pycache__

2. Starten Sie den Vorgang zum Sichern der Tabellen in der Datenbank
2.1 Sehen Sie sich jetzt die Vorgänge unter der Datenbank-CSDN an

 [root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001'
VERWENDEN Sie b'csdn';
Datenbank-CSDN erstellen;
VERWENDEN Sie b'csdn';
Tabelle t1 erstellen (ID int);
INSERT INTO `csdn`.`t1`(`id`) VALUES (1); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (2); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (3); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (4); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (5); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (6); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (7); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (8); #start 609 end 807 time 2020-09-25 02:21:21
UPDATE `csdn`.`t1` SET `id`=10 WHERE `id`=1 LIMIT 1; #Start 917 Ende 1095 Zeit 2020-09-25 02:21:39
LÖSCHEN AUS `csdn`.`t1`, WO `id`=3 LIMIT 1; #Start 917 Ende 1183 Zeit 25.09.2020 02:21:48

2.2 Vorgänge unter der Sicherungsdatenbank csdn

[root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001' >/test/binlog2sql.sql

2.3 Zeigen Sie die gerade gesicherte SQL-Datei an

[root@localhost binlog2sql]# cat /test/binlog2sql.sql
VERWENDEN Sie b'csdn';
Datenbank-CSDN erstellen;
VERWENDEN Sie b'csdn';
Tabelle t1 erstellen (ID int);
INSERT INTO `csdn`.`t1`(`id`) VALUES (1); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (2); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (3); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (4); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (5); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (6); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (7); #start 609 end 807 time 2020-09-25 02:21:21
INSERT INTO `csdn`.`t1`(`id`) VALUES (8); #start 609 end 807 time 2020-09-25 02:21:21
UPDATE `csdn`.`t1` SET `id`=10 WHERE `id`=1 LIMIT 1; #Start 917 Ende 1095 Zeit 2020-09-25 02:21:39
LÖSCHEN AUS `csdn`.`t1`, WO `id`=3 LIMIT 1; #Start 917 Ende 1183 Zeit 25.09.2020 02:21:48

3. Sehen Sie sich die Löschanweisung separat an

[root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001' --sql-type=delete
VERWENDEN Sie b'csdn';
Datenbank-CSDN erstellen;
VERWENDEN Sie b'csdn';
Tabelle t1 erstellen (ID int);
LÖSCHEN AUS `csdn`.`t1`, WO `id`=3 LIMIT 1; #Start 917 Ende 1183 Zeit 25.09.2020 02:21:48

4. Speichern Sie die Löschanweisung umgekehrt in der SQL-Datei und zeigen Sie sie an

[root@localhost binlog2sql]# python3 binlog2sql.py -h 192.168.0.112 -P3306 -uroot -p123 -d csdn -t t1 --start-file='mysql-bin.000001' --sql-type=delete --start-position=917 --stop-position=1183 -B >/test/roll.sql
[root@localhost binlog2sql]# cat /test/roll.sql 
INSERT INTO `csdn`.`t1`(`id`) VALUES (3); #start 917 end 1183 time 2020-09-25 02:21:48

5. MySQL aufrufen und gelöschte Daten wiederherstellen

mysql> Quelle /test/roll.sql
Abfrage OK, 1 Zeile betroffen (0,00 Sek.)
mysql> wähle * aus t1;
+------+
|Ich würde|
+------+
| 10 |
| 2 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 3 |
+------+
8 Zeilen im Satz (0,00 Sek.)

Zusammenfassen

Dies ist das Ende dieses Artikels über die Konfiguration von mysql8.0.20 mit binlog2sql und die detaillierten Schritte zur einfachen Sicherung und Wiederherstellung. Weitere relevante Inhalte zur Konfiguration von mysql8.0.20 binlog2sql sowie zur Sicherung und Wiederherstellung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Erläutern Sie das Binlog-Protokoll von MySQL und wie Sie das Binlog-Protokoll zum Wiederherstellen von Daten verwenden
  • MySQL verwendet Binlog-Protokolle zur Implementierung der Datenwiederherstellung
  • Implementierung von MySQL mit dem Befehl mysqlbinlog zum Wiederherstellen versehentlich gelöschter Daten
  • MySQL verwendet mysqldump + binlog, um die Prinzipanalyse der gelöschten Datenbank vollständig wiederherzustellen
  • MySQL Binlog-Datenwiederherstellung: Detaillierte Erklärung zum versehentlichen Löschen einer Datenbank
  • So verwenden Sie Binlog zur Datenwiederherstellung in MySQL
  • Detaillierte Schritte zum Wiederherstellen der MySQL-Datenbank über Binlog-Dateien unter Linux
  • MySQL-Datenbank wurde angegriffen und manipuliert (Datenwiederherstellung mithilfe von Backup und Binlog)
  • Bringen Sie Ihnen bei, die Protokolldatei (binlog) der MySQL-Datenbank automatisch wiederherzustellen
  • Binlog-bezogene Befehle und Wiederherstellungstechniken in MySQL
  • Wiederherstellung der MySQL-Datenbank (mit dem Befehl mysqlbinlog)
  • MySQL stellt Daten über Binlog wieder her

<<:  So konfigurieren Sie Tomcat und führen Ihr erstes Java-Webprojekt auf IntelliJ IDEA 2018 aus

>>:  So fügen Sie einem Benutzer in einer Linux-Umgebung Sudo-Berechtigungen hinzu

Artikel empfehlen

Detaillierte Erklärung der grundlegenden Syntax und Datentypen von JavaScript

Inhaltsverzeichnis JavaScript importieren 1. Inte...

DNS-Konfigurationsmethode für den Linux Domain Name Service

Was ist DNS Der vollständige Name von DNS lautet ...

So installieren Sie MySQL 5.7 unter Windows

Laden Sie zuerst die komprimierte Version von MyS...

CSS Flex mehrere mehrspaltige Layouts

Grundlegendes dreispaltiges Layout .Container{ An...

Schritte zum Erstellen des Projekts vite+vue3+element-plus

Verwenden Sie vite, um ein vue3-Projekt zu erstel...

Spezifische Verwendung des Linux-gcc-Befehls

01. Befehlsübersicht Der Befehl gcc verwendet den...

Tutorial zur Installation von Android Studio unter Ubuntu 19 und darunter

Aus Erfahrung weiß man, dass es eine gute Angewoh...

Implementierungscode für die HTML-Drag & Drop-Funktion

Basierend auf Vue Die Kernidee dieser Funktion be...

jQuery realisiert Bildhervorhebung

Es ist sehr üblich, Bilder auf einer Seite hervor...

Detaillierte Diskussion der Unterschiede zwischen Schleifen in JavaScript

Inhaltsverzeichnis Vorwort Aufzählbare Eigenschaf...

Vertikales und horizontales Aufteilen von MySQL-Tabellen

Vertikale Teilung Vertikale Aufteilung bezieht si...

Jenkins erstellt Docker-Images und überträgt sie in das Harbor-Warehouse.

Inhaltsverzeichnis Docker-Datei pom.xml Jenkins-K...